В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Изучите , Доктрина 1.2 Доктрины .
реализует Активную Запись. Доктриной 2 + является DataMapper ORM.
кроме того, проверьте Xyster. Это основано на шаблоне Картопостроителя Данных.
кроме того, смотрите на DataMapper по сравнению с Активной Записью .
Доктрина является, вероятно, Вашим лучшим выбором. До Доктрины DB_DataObject был по существу единственной другой утилитой, которая была открыта полученный.
Можно проверить Отдых , если Вы чувствуете себя предприимчивыми. Как Выход , это смоделировано, после В спящем режиме .
все еще очень рано в своей разработке, но до сих пор единственные ограничения на модель предметной области - то, что классы не отмечены, финал и свойства не отмечены частные. Как только я вхожу в землю PHP> = 5.3, я попытаюсь реализовать поддержку частных собственностей также.
Мне действительно нравится , Продвигают , здесь можно получить обзор, , документация довольно хороша, и можно получить ее через ГРУШУ или SVN.
Вам только нужна работа установка PHP5, и Phing, чтобы начать генерировать классы.
Я разрабатывал Pork.dbObject самостоятельно. (Простой PHP ORM и Активная Рекордная реализация) главная причина состоит в том, что я нахожу большинство ORMs слишком тяжелый.
основная мысль о Pork.dbObejct должна быть легка и проста настроить. Никакой набор XML-файлов, всего один вызов функции в конструкторе обязать его, и addRelation или addCustomRelation определять отношение к другому dbObject.
Посмотрели на него: Pork.dbObject
Я только что запустил с Kohana, и кажется, что самые близкие к Ruby on Rails, не вызывая всю сложность нескольких конфигурационных файлов как с Продвигают .
Выезд выход ORM . Это более просто, чем Продвигают и Доктрина, и это работает подобное для Спящего режима, только с большим количеством чувства PHP к нему.
Существует только два хороших: Доктрина и Продвигают . Мы одобряем Доктрину, и она работает хорошо с Symfony. Однако при поиске поддержки БД помимо основных, необходимо будет записать собственный код.
Я в настоящее время работаю над phpDataMapper, который является ORM, разработанным для имения простого синтаксиса как проект Ruby Datamapper. Это находится все еще в ранней разработке также, но это работает отлично.
До выпуска PHP 5.3 не ожидают иметь хороший ORM. Это - ограничение OO PHP.
Сделайте попытку dORM, объектно-реляционного картографа для PHP 5 . Он поддерживает все виды отношений (1-к-1), (1-ко-многим), (многие-ко-многим) и типы данных. Это совершенно незаметно: не требуется генерация кода или расширение классов. На мой взгляд, он превосходит любой ORM, включая Doctrine и Propel. Тем не менее, он все еще находится в бета-версии и может значительно измениться в ближайшие пару месяцев. http://www.getdorm.com
Он также имеет очень маленькую кривую обучения. Три основных метода, которые вы будете использовать:
<?php
$object = $dorm->getClassName('id_here');
$dorm->save($object);
$dorm->delete($object);
If you are looking for an ORM, like Hibernate, you should have look at PMO.
It can be easily integrated in an SOA architecture (there is only a webservice classe to develop).
My friend Kien and I have improved upon an earlier version of an ORM that he had written prior to PHP 5.3. We have essentially ported over Ruby on Rails' Active Record to PHP. It is still lacking some key features we want such as transactions, composite primary key support, a few more adapters (only MySQL and SQLite 3 work right now). But, we are very close to finishing this stuff up. You can take a look at PHP ActiveRecord with PHP 5.3.
Попробуйте RedBean , для этого требуется:
Он даже выполняет за вас все блокировки и транзакции, а также отслеживает производительность в фоновом режиме. (Черт возьми! Он даже занимается сборкой мусора ....) Лучше всего ... вам не нужно писать ни одной ... строчки кода ... Иисус это , ORM слой , спас мне задницу!
Попробуйте PHP ADOdb.
Я не могу сказать, что это лучший вариант, потому что я не использовал другие. Но он быстрый, он поддерживает Memcached и кеширование.
И он намного быстрее, чем Zend Framework DB / Select.
Лица PHP ORM для расширения PDO. См. PHP Faces Framework .
$urun = new Product();
$urun->name='CPU'
$urun->prince='124';
$urun->save();
Try Doctrine2. Это, вероятно, самый мощный инструмент ORM для PHP. Я упоминаю его отдельно от Doctrine 1, потому что это совершенно другое программное обеспечение. Она была переписана с нуля, все еще находится в стадии бета-тестирования, но уже доступна для использования и развивается.
Это очень сложный ORM, но хорошо продуманный. Много волшебства из оригинальной Doctrine 1 исчезло. Он предоставляет полное решение, и вы можете написать свой собственный ORM поверх Doctrine2 или использовать только один из его слоев.
Axon ORM является частью Fat-Free Framework - в нем есть средство отображения на лету. Без генераторов кода. Никаких дурацких конфигурационных файлов XML / YAML . Он считывает схему базы данных непосредственно из серверной части, поэтому в большинстве операций CRUD вам даже не нужно расширять базовую модель. Он работает со всеми основными PDO -поддерживаемыми механизмами баз данных: MySQL , SQLite , SQL Server / Sybase, Oracle, PostgreSQL и т. Д.
/* SQL */
CREATE TABLE products (
product_id INTEGER,
description VARCHAR(128),
PRIMARY KEY (product_id)
);
/* PHP */
// Create
$product=new Axon('products'); // Automatically reads the above schema
$product->product_id=123;
$product->description='Sofa bed';
$product->save(); // ORM knows it's a new record
// Retrieve
$product->load('product_id=123');
echo $product->description;
// Update
$product->description='A better sofa bed';
$product->save(); // ORM knows it's an existing record
// Delete
$product->erase();
Прежде всего, подключаемый модуль и сопутствующий ему уровень доступа к данным SQL такие же легкие, как и фреймворк: 14 КБ (Axon) + 6 КБ (SQLdb). Без жира составляет всего 55 КБ.
Я нашел классы, связанные с ORM, в библиотеке PHP Flourish .
Есть фантастический ORM, включенный в фреймворк QCubed; он основан на генерации кода и построении лесов. В отличие от ActiveRecord, который основан на отражении и в целом медленный, генерация кода создает для вас скелетные классы на основе базы данных и позволяет вам настраивать их впоследствии. Это работает как шарм.