Что такое ORM в веб-приложении? - PullRequest
7 голосов
/ 21 января 2010

Недавно я получил ответ от серверной компании, спрашивающей, используем ли мы ORM в нашем приложении, которое выполняет всю работу по отсеиванию части приложения (например, Rails), или мы пишем множество SQL, встроенных функций и т. Д. Сервер базы данных сделает обработку за вас.

Может кто-нибудь объяснить, что подразумевается под этим. Наше веб-приложение состоит из сценариев PHP с функциями, которые выполняют вызовы базы данных для извлечения строк данных, затем PHP обрабатывает эти строки по мере необходимости, чтобы возвращать результаты пользователю.

спасибо

Ответы [ 7 ]

6 голосов
/ 21 января 2010

Это в основном делает ваши таблицы базы данных похожими на объекты на стороне PHP вашего сайта, так что вы можете легко манипулировать данными.

Например, если у вас есть таблица «Пользователь», получить имя этого пользователя так же просто, как сделать: $myUser->getName();

добавление нового пользователя в вашу базу данных будет:

$myUser = new User();
$myUser->setName('John Doe');
$myUser->save();

Конечно, это псевдокод (на самом деле код PHP Symfony / Doctrine), но это простой пример, так что вы поймете.

3 голосов
/ 21 января 2010

Это объектно-реляционное отображение.См. Ссылку на Википедию ниже.

http://en.wikipedia.org/wiki/Object-relational_mapping

2 голосов
/ 21 января 2010

ORM - это абстракция, которая должна упростить работу с реляционной базой данных на объектно-ориентированном языке. В основном это набор классов и методов, которые позволяют создавать, извлекать и обновлять данные без непосредственного использования SQL.

Например, вместо того, чтобы писать $ result = mysql_query ('select * from бутерброды, где color =' green 'и size =' 2 ');

вы можете использовать интерфейс как $ Результат = $ sandwiches-> Get ( 'цвет' => 'зеленый', => 'размер' => '2');

и ORM превращает это в SQL и выполняет запрос, заботясь о соединениях и т. Д.

Популярные PHP ORM: Doctrine и Propel

Если вы не знаете, используете ли вы его, то маловероятно, что вы это делаете!

0 голосов
/ 21 января 2010

Object Relational Mapping - это простой способ отображения объектов базы данных (таблиц, представлений ...) на классы / объекты в OOPL. Hibernate и NHibernate являются несколькими примерами ORM. он выполняет всю утомительную задачу обработки и отображения результирующих наборов ..

0 голосов
/ 21 января 2010

ORM - статья Википедии об объектно-реляционном сопоставлении.

0 голосов
/ 21 января 2010

ORM используется для отображения объектов вашей базы данных на объекты приложения.

В простом приложении, использующем ORM, у вас должны быть функции, которые получают / устанавливают данные из / в БД, должны возвращать соответствующий объект / объекты приложения.

0 голосов
/ 21 января 2010

ORM - объектно-реляционный картограф. который сопоставляет объекты Java с таблицами базы данных и позволяет вам выполнять некоторые транзакции базы данных по всему коду. EX инструментов ORM похожи на Hibernate, Ibatis ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...