2012-04-27 42 views
-2

在那里有一些PHP的数据绑定框架?如果存在与Code Igniter集成的更好的东西。数据绑定框架 - PHP

编辑

我不是在寻找一个数据库ORM。它绑定了一个请求(get或post)到动态创建对象,如Grails在他的控制器中做的。

EDIT 2

比方说,我有一个代表博文类:

class BlogPost { 

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


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

} 

通常情况下,你要做的就是得到这个职位数据,并创建博客帖子对象:

$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视频谈话。

编辑:

看看CakePHP 2.x.也许你可以复制和修改CakeRequest和CakeResponse类,它们完全按照你要找的内容(在你更详细地定义它之后)。但在这种情况下,为什么要使用代码点火器呢?

+0

学说是为数据库持久赖特?也许我不清楚我的问题,但我正在讨论绑定请求参数(post和get)到对象。 – 2012-04-27 01:07:43

+0

为了您的信息,我在发布此问题之前进行了搜索。 – 2012-04-27 01:36:34

+0

数据绑定可能意味着几乎所有... – burzum 2012-04-27 19:10:20