joacub/zf-joacub-form-annotations

此包最新版本(0.0.1)没有可用的许可证信息。

一个数据网格 ZF2 模块

0.0.1 2015-02-11 14:00 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:14:19 UTC


README

在 Zend Forms (2.0) 中引入的酷炫新 RAD 功能之一是 "注解"。它通过仅提供注解/文档块注释,帮助您轻松为实体创建表单。此功能依赖于 doctrine common 库。因此,请确保在 composer 中包含此依赖项,如下所示

		"require": { 
				"php": ">=5.3.3", 		
				"zendframework/zendframework": "2.*", 		
				"doctrine/common" : ">=2.1" 		
			} 

请注意,doctrine 注解和表单注解可以并行工作!使用此方法的一个常见担忧是由于文件解析和正则表达式匹配的开销导致的性能下降。此模块演示了如何使用简单的文件缓存来缓解这个问题。

用法

  1. 将 "MnsFormAnnotation" 模块复制到您的模块或 vendor 目录中。
  2. 通过将 'MnsFormAnnotation' 添加到您的 application.config.php 文件中来激活该模块。
  3. 为了演示目的,提供了一个示例路由 (/form)。请检查 IndexController 中的代码以获取详细信息。
  4. 请确保在 'data' 目录下创建一个名为 'cache' 的文件夹。

为了生成表单,在控制器中使用的代码是

		$form = $this->getServiceLocator()->get('formGenerator')
				   ->setClass('\MnsFormAnnotation\Entity\User')		  
				   ->getForm();		 
  • 'formGenerator' 是模块 (Module.php) 中使用的服务名称
  • 使用 "setClass()" 方法来指示包含表单注解的实体的完全限定名称
  • "getForm()" 方法透明地处理缓存(在 module.config.php 中使用 "mns_cache_config" 键设置)并返回请求的表单对象
  • 请注意,module.config.php 文件还包含一个名为 "mns_form_extra" 的键。这用于在表单末尾追加一个 "提交" 按钮。