php - 如何从 Doctrine2 实体填充 zend_form?

标签 php zend-framework doctrine doctrine-orm

现在我正在从 Controller 中填充/设置默认的 zend_form :

 $data = array('user' => $account->getUser(), 
            'password' => $account->getPassword(), 
            'name' => $account->getName());

 $form->setDefaults($data);

它的工作,但接缝非常手动的过程。有更好的方法吗?

最佳答案

“显而易见”的解决方案是以某种方式将展平实体分解为数组。这并不难做到,但有些极端情况可能会变得丑陋。

我遇到过的最好看的(我还没有尝试过,但即将尝试)固定实现是 this one (一些 docs are here )。

它使用反射来查看实体元数据,然后对要返回的结构进行一些很好的猜测。总的来说,这似乎是最好的策略。我怀疑要处理异常结构化的实体,您可能需要调整 Boris 的类以检查实体上的自定义序列化方法,如果存在,则让实体自行序列化。

关于php - 如何从 Doctrine2 实体填充 zend_form?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7367004/

相关文章:

php - Doctrine 将带子查询的 SQL 转换为 DQL

php - facebook php - 如何获取专辑封面照片

php - css 下拉菜单不适用于 iphone/ipad

zend-framework - Zend 中的 Flash Messenger 类型

zend-framework - 我的第一个 zend 应用程序出错

php - Magento:将 bundle 中的简单产品添加到购物车中的单独行

php - 为什么运行 Laravel/Doctrine 原始数据库查询与使用 mysql cli 不同?

php - 实体命名空间子类在 Doctrine 中不起作用

php - 如何从 phing 临时任务返回值?

php - jQuery 在 Laravel 5 中无法正常工作