PHP-быдлокодер

Достижения

Все достижения (46)

Наибольший вклад в теги

Все теги (212)

Лучшие ответы пользователя

Все ответы (450)
  • Какой шаблонизатор взять для нового проекта на php?

    Хороший шаблонизатор, идеально интегрирующийся с PHP называется… PHP :) В шаблонах удобно использование альтернативного синтаксиса.
    Ответ написан
  • Для чего нужна ORM?

    Вы не путаете ORM с DBAL? ORM это не технология замены SELECT * FROM goods WHERE cost < 100.00 на $db->select()->from('goods')->where('cost < 100.00'). ORM это способ задания связи объектов и РСУБД. По сути позволяет абстрагироваться от способа хранения объектов вообще, с лёгкостью переходя от SQL к NoSQL, memcache, файлам или REST/RPC API на удалённом сервере, оперируя на уровне модели (если говорить о MVC и т. п.) простыми plain old objects, а их персистентность отдать контроллеру. Не $db->select()->from('goods'),, не mysql_query('SELECT * FROM goods'), а $goodsRepository->findAll(), а уж будет репозиторий формировать SQL запрос, читать файлы или память, а может стучаться на Гугл и парсить его вывод — его, репозитория, личное дело (а также разработчика(ов), отвечающих за подсистему хранения).

    Кроме того ORM, как правило не исключает обращение к БД на уровне произвольных SQL запросов, оно лишь преобразуют результаты этих запросов в объекты модели предметной области (и наоборот), которые ничего не знают (в идеале) о таблицах, WHERE, HAVING и т. п.

    ORM это не только инструмент архитектурного разделения областей ответственности объектов и классов приложения, а также инструмент облегчения разделения труда разработчиков: кто хорошо шарит в SQL вообще и особенностях конкретного движка в частности — работает по «ту сторону» ORM, оптимизирует его как хочет, может нормализовывать и денормализовывать, например; кто хорошо разбирается в дебетах и кредитах — работает с plain old objects в терминах предметной области и может вообще ничего не зная об SQL, ему лишь нужно знать, что он всегда может получить объект или их коллекцию обратившись к методам вроде findById() или findAll() и сохранить результат работы методом save() или flush().
    Ответ написан
  • CMS и фреймворки

    Мне кажется не любят её здесь по другой причине — эта CMS не требует (или производит впечатление, что не требует) квалификации пользователя, а её код и архитектура не является (или производит впечатление, что не является) примером для подражания.

    P.S. Я старался быть максимально политкорректным :)
    Ответ написан
  • В чём граница между библиотекой и фреймворком?

    Направление вызовов прежде всего. Фреймворк вызывает ваш код, он как бы внутри его. А библиотеку вызывает ваш код, она внутри его. А требования определенной структуризации и ограничения, упомянутые выше, это лишь следствия, чтобы фреймворк знал что и где вызывать и знал что делать с возвращаемыми значениями.
    Ответ написан
  • Автоматическое включение компьютера после появления электричества в сети

    Если упс отключает комп штатно («умный», подключен по usb/com, идёт завершение работы), то он должен уметь и его включать (в настройках упса и в биосе «wake up on usb/com»). Если он отключает его просто обрубая питания, а потом питание обрубает, то настройка в биосе типа «on power fail» — «power on». Если же упс просто обрубает питание и ждёт пока на нём кнопку нажмут, чтобы снова его подать, то надо кнопку нажимать…
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (35)