【发布时间】:2012-11-29 16:43:10
【问题描述】:
您好,我正在尝试使用 Zend Framwork 2 的 ZfcUser 模块编写用户注册表单,并希望在添加更多用户字段时获得有关最佳实践的一些建议。
到目前为止,我已经创建了自己的名为“WbxUser”的模块,正如modules wiki pages 中所述,我通过在我的模块引导函数中使用事件管理器向 ZfcUser 的注册表单添加了一个名为“userlastname”的自定义字段,如下所示。
代码:
//WbxUser.Module.php
namespace WbxUser;
use Zend\Mvc\MvcEvent;
class Module {
public function onBootstrap(MvcEvent $e){
$events = $e->getApplication()->getEventManager()->getSharedManager();
$events->attach('ZfcUser\Form\Register','init', function($e) {
$form = $e->getTarget();
$form->add(array(
'name' => 'userlastname',
'attributes' => array(
'type' => 'text',
),
'options' => array(
'label' => 'Last Name',
),
));
// Do what you please with the form instance ($form)
});
$events->attach('ZfcUser\Form\RegisterFilter','init', function($e) {
$filter = $e->getTarget();
$filter->add(array(
'name' => 'userlastname',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLength',
'options' => array(
'min' => 3,
'max' => 255,
),
),
),
));
});
}
public function getConfig(){
return array();
}
public function getAutoloaderConfig(){
return array();
}
}
但在此之后,我对在何处/如何编写代码以保存我的新字段正在收集的额外数据有点迷失了。
这是我可以为附加字段启动保存例程的事件https://github.com/ZF-Commons/ZfcUser/wiki/How-to-perform-a-custom-action-when-a-new-user-account-is-created
我是否应该编写自己的 WbxUser 模型来扩展 ZfcUser\Entity\User.php 以添加我的新字段
我有点像 ZF 和 MVC 菜鸟,所以对于写入方向的轻推,我会非常满意。
【问题讨论】:
-
你可以看看这个帖子:stackoverflow.com/questions/8783873/…
-
真棒,确实有帮助。我将在编写我的模块时有所突破,我将发布对我有用的内容。再次感谢。
-
谢谢,我期待看到你的。我正在做同样的事情:)
标签: php model-view-controller zend-framework2