2012-04-27 3 views
-2

Есть ли какая-то инфраструктура для привязки данных в PHP? Если существует нечто, интегрированное с Code Igniter лучше.Структура привязки данных - PHP

EDIT

Я не ищу для ORM базы данных. Это привязывает запрос (получить или отправить) к динамическим объектам создания, например, Grails в своем контроллере.

EDIT 2

Пример

Скажем, у меня есть класс, который представляет собой BlogPost:

class BlogPost { 

    private $codePost; 
    private $title; 
    private $cotent; 
    private $datePost; 


    //getters & setters ommited. 
    //methods to validate and persist ommited. 

} 

Обычно, что вы делаете, это получить почтовые данные и создать объект BlogPost :

$post = new BlogPost(); 
$post->setTitle($_POST['title']); 
//... other sets 

В Grails (см. Ссылку) происходит то, что bindData() возвращает объект с заполненными атрибутами. Например, в моем контроллере:

bindData($post, $_POST); //this returns a $post variable with the content of the post 

Если дело простого класса я знаю, что может быть сделано с ReflectionClass и это будет легко, но я смотрю, если существует что-то, что уже обрабатывать массивы объектов или классы, имеющие отношения (например, класс C имеет атрибут для классов A и B).

Пример:

class A { 
    private $atribOne; 
    private $atribTwo; 
} 

class HandleMultipleA { 
    private $listOfA; //array of class A 
    private $moreSomethingThatINeedToControl; 
} 

Как-то мне нужно, чтобы представить HandleMultipleA в HTML:

<input type='text' name='moreSomethingThatINeedToControl' /> 
<input type='text' name='listOfA[0].atribOne' /> 
<input type='text' name='listOfA[1].atribOne' /> 
<input type='text' name='listOfA[2].atribOne' /> 

И finnaly в мой контроллер я хочу сделать что-то вроде:

bindData($handleMultipleA, $_POST); 

foreach($handleMultipleA.getListOfA() as $aInstance) { 
    //more stuff... 
} 

ответ

0

http://www.doctrine-project.org/

Позвольте мне сообщить, что для вас: http://codeigniter.com/wiki/Using_Doctrine_with_Code_Igniter/

И вот видео-доклад о integrating MongoDb + Doctrine with CakePHP.

Edit:

Посмотрите на CakePHP 2.x. Возможно, вы можете копировать и адаптировать классы CakeRequest и CakeResponse, они делают именно то, что вы ищете (после того, как вы определили его более подробно). Но в этом случае зачем использовать кодовый воспламенитель?

+0

Доктрина предназначена для сохранения постоянной базы данных? Может быть, я не понимаю в своем вопросе, но я говорю о привязке параметров запроса (сообщения и получения) к объектам. –

+0

И для вашей информации я googled перед отправкой этого вопроса. –

+0

Связывание данных может означать почти все ... – burzum

Смежные вопросы