Комментарии 29
Создать объект-модель для того, чтобы получить из БД объект-модель? Совершенно идиотский подход, пахнущий PHP 5.2 и Yii 1.
Код читать надо. Вслух. Тогда вам будут сразу видны все его огрехи.
Код читать надо. Вслух. Тогда вам будут сразу видны все его огрехи.
Во первых статья для разработчиков magento. А во вторых: `Создать объект-модель для того, чтобы получить из БД объект-модель?` вопрос странновато из БД вы получите только данные, если это только не mongoDB речь идёт о mysql, даные в объект может преобразовать PDO или mysqli(на счёт последнего незнаю что он возвращает). В третих ORM это прослойка абстракции т.е. Если смотреть на прототип, мы увидим следующую последовательность. `db->driver->entity manager->model` очень упрощённо откидывая query builder и то что этот объект находиться в registry и имеет один инстанс во время работы приложения. Если приложение ориентированно на mysql или любую другую бд то в orm смысла нет. А для реализации, архитектуры которая не зависит от места хранения данных, необходима реализация как рас какой то прослойки между базой-данных и моделью приложения(проще говоря той штуки с которой он будет работать). И только тогда для миграции приложения на postgresql (к примеру) вам надо будет написать лиш driver. В другом же случае, вам придёться переписывать всё приложение полностью.
Если приложение ориентированно на mysql или любую другую бд то в orm смысла нет. А для реализации, архитектуры которая не зависит от места хранения данных, необходима реализация как рас какой то прослойки между базой-данных и моделью приложения(проще говоря той штуки с которой он будет работать). И только тогда для миграции приложения на postgresql (к примеру) вам надо будет написать лиш driver. В другом же случае, вам придёться переписывать всё приложение полностью.
Вы путаете ORM c DAL.
Ну и за использование array() пожалуй можно смело попросить автора этого кода «вон из профессии».
ну я бы не был так категоричен, у нас на некоторых версиях проекта ещё заявлена поддержка 5.3 и без array() там никак к сожалению
Вы наверное из тех кто считает можно наплевать на PSR-1 и PSR-2, magento на ZF1 и оформление кода там по https://framework.zend.com/manual/1.12/ru/coding-standard.coding-style.html этому кодинг гайду. Ну а если вы из тех людей которые забивают на coding style, и на php-doc и другие не интересные штуки. То вон из профессии вас и всех тех кто так программирует.
К сожалению еще достаточно много проектов крутится на старых версиях движка, и там даже нет поддержи php 5.4, максимум 5.3. Никто не будет обновлять движок, и уж тем более пилить поддержку нового пхп не видя в этом явной экономической выгоды.
А разве добрая PDO и PDOStatement не умеет то же самое? Или соль тут в Query Builder?
Не увидел ORM. В чем цель статьи?
Не увидел ORM. В чем цель статьи?
А минусуют Вас потому, что это не статья уровня Хабра, а некий текст, напоминающий худшие образцы «Ответов.Mail.Ru». Как по бессмысленности содержания, так, особенно, по безграмотности.
Хоть бы кто нибудь отписался почему минусует
Ок, напишу.
Получаем модель
При инициализации модели.
Изменения строки
Транзакции
У вас в статье наверное штук 40 предложений, и четверть из них вот такие односложные заголовки. А также куча орфографических и пунктуационных ошибок. Это не статья, а огрызок. Вам сильно понравится, если кто-то предложит вам огрызок?
Вы бы хоть в Ворде орфографию проверили, раз сами не знаете.
всё это есть в документации
А зачем тогда нужна ваша статья? Про ORM тоже есть в документации. Кстати, вы бы хоть ссылку на нее оставили.
А где же join скажете вы? С join более сложнее
JOIN между таблицами — это связи между объектами, то есть буква R в ORM. Статья вроде как про ORM, а такой важной части нет.
«Я потом напишу, если попросите». Что за манера такая?
К сожалению про связи между сущностями разработчики Magento почему-то забыли. По крайней мере, в первой версии, про вторую не знаю
Да?
Олени.
Зато энтерпрайс, и на фреймворке, можно корчить из себя крутого перца. :)
Олени.
Зато энтерпрайс, и на фреймворке, можно корчить из себя крутого перца. :)
Да, и это боль ) Возможно, это оттого, что архитектура Magento 1 была разработана довольно давно (2008 — 2009), тогда ещё не знали как надо.
А до этого они не знали, как надо, написав osCommerce, ага :)
Не знал, что они и там засветились. Справедливости ради, кто-нибудь может привести пример популярной e-commerce платформы, с которой было бы удобно работать с точки зрения программиста? Язык значения не имеет
Ни одной не смогу вспомнить. UMI был хорош как пример сферического ООП ради ООП в вакууме и только.
Varien, the company owning Magento, formerly worked with osCommerce. It had originally planned to fork osCommerce but later decided to rewrite it as Magento.
И причем тут oscommerce? Разработчики magento не имеют ничего общего с разработчиками oscommerce. Кроме того, что компания Irubin Consulting делала на нем сайты, перед тем как нанять Varien на разработку Magento. Но это как называть всех кто делает приложения под android, создателями android ))
Magento на ZF?
Там то, нету ORM, что его реализует Маджента?
Там то, нету ORM, что его реализует Маджента?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
ORM в цмс magento