Приведенная ниже цитата убедила наконец перейти на ORM. Раньше я не любил ORM и записывал его как глупый способ сделать sql. Работа с иерархическими данными в sql – это боль, с которой я не хочу иметь дело.
Есть причина, по которой мы имеем эти «объектно-реляционные карты», и это из-за проблемы, известной как несоответствие объектно-реляционного импеданса. В принципе, формальная математическая модель для баз данных, используемая для обеспечения их целостности, следует за системой таблиц с строками и столбцами и ссылками на другие таблицы, тогда как структуры данных на большинстве языков программирования, которые мы используем сегодня, манипулируют данными в вложенных древовидных структурах. Это похоже на разницу между электронной таблицей и XML-документом или между регистром и диаграммой генеалогического древа. – http://zork.net/motd/nick/django/your-favorite-orm-sucks.html
- Как скопировать таблицу из одной базы данных mysql в другую базу данных mysql
- забудьте пароль, создав сгенерированный пароль для отправки по электронной почте пользователю.
- Разница между PDO-> query () и PDO-> exec ()
- mySQL groupconcat возвращает BLOB xxxB / Kib
- Symfony2 & Doctrine: создание пользовательского SQL-запроса
Я хочу что-то с минимальными усилиями для настройки. Большая часть моего проекта небольшая, поэтому я не хочу тратить много времени на определение моделей, когда я использую их только для нескольких запросов.
Я использую codeigniter в качестве базы php и MySQL как базу данных.
Доктрина блестящая и очень простая в настройке и использовании с CI. Существует три способа его интеграции: 1) способ, описанный в CI wiki 2) в качестве плагина 3) с использованием перехватчиков. Мне не нравится вариант 1, поскольку он включает в себя обмен файлами с системными файлами CI. Вариант 2 очень прост и в настоящее время я использую. Настройка описана на сайте http://www.phpandstuff.com. Я никогда не пробовал вариант 3, но это звучит интересно – http://blog.medryx.org/2008/10/04/codeigniter-and-doctrine/
Вот те, которые я использую
доктрина
DataMapper
Я думаю, вы должны попробовать ORM DataMapper, который написан на языке CI. Также легко настраивается и прост в использовании. Я думаю, что это лучше, чем Доктрина.
Я бы посоветовал
http://www.doctrine-project.org/ , он очень популярен, поэтому у вас будут знания, и он сможет использовать его в других фреймах.
Как насчет Datamapper Overzealous Edition
Я думаю, что исходный DataMapper (от stensi) больше не разрабатывается. (Кто-то поправьте меня, если я ошибаюсь) Datamapper Overzealous Edition легко получить работу с Codeigniter.
Я уверен, что Доктрина тоже хорошо работает, но я не уверен, как легко настраиваться с помощью Codeigniter.