Zend 框架有代码生成器吗?

Posted

技术标签:

【中文标题】Zend 框架有代码生成器吗?【英文标题】:Is there any code generator for Zend Framework? 【发布时间】:2013-10-22 17:47:00 【问题描述】:

我尝试了几个 Web 开发框架,例如 Zend Framework 1/2、Yii、Ruby on Rails、Django for Python、Spring+myBatis 等等。它们中的大多数都带有一个代码生成器,可以减少编写 CRUD、表数据编辑和 SQL 迁移(等等)的负担。例如 Yii 中的 Gii、ROR 上的迁移工具、myBatis 的 myBatis 生成器、Django 应用管理器等等。但我在 ZF 中没有找到相同的工具。

在 ZF2 中是否有任何有用的代码生成示例功能:

    视觉模型生成(如在 Gii 中); 命令行 SQL 生成和 DB 操作(如在 Django 中); 部署脚本生成。

【问题讨论】:

似乎支持Doctrine + Zend。此外,Propel 内置了迁移支持,不确定 Doctrine。你用的是什么 ORM? @halfer 看来Doctrine2是个不错的选择,和myBatis有点接近。我可能会更多地评估它。 有一个 Zend CLI 工具,名为 ZendTool,用于 CRUD 和应用程序设置! 【参考方案1】:

Zend 框架附带“Zend 框架工具”

ZF2: http://framework.zend.com/manual/2.1/en/modules/zendtool.introduction.html

ZF 1.X: http://framework.zend.com/manual/1.12/en/zend.tool.framework.clitool.html

用它你可以初始化项目,添加控制器、模型、表单等。我只用过 ZF 1.X 工具。这对于设置初始目录布局很方便。

【讨论】:

谢谢@Todd!我知道 ZF 工具并使用它一点点。但我认为这很粗糙。我正在寻找强大的东西。【参考方案2】:

这比你想要的要低一点,但是 ZF2 中有一个强大的包用于代码反射、扫描和生成。在内部,我们使用 Doctrine2 对象管理器从我们的 Doctrine2 模式生成完整的 mvc 堆栈。不幸的是,它不是很模块化,我不能直接与你分享源代码。这是包裹:

http://framework.zend.com/apidoc/2.2/namespaces/Zend.Code.html

https://github.com/zendframework/Component_ZendCode

专业提示 1:在生成器中使用 Twig 而不是 phtml 进行模板化,因为使用 phtml 模板来编写 php 非常困难...学到了很困难的方法:-/

专业提示 2:扫描器对于无需实例化即可读取代码非常有用。这对我们来说很方便,因为我们在生成器中使用了故障保护,它表示如果文件存在,它必须包含 docblock 注释 @overwrite true 否则它不会更新该文件。因此,我们必须在输出之前扫描每个文件。反射不适用于视图脚本之类的东西,但扫描效果很好!

【讨论】:

感谢您的回复,@dualmon。我已阅读您在回复中提到的 api 文档。有没有消息说他们将增强 ZF_Tool 以提供更强大的功能? 我不确定 ZF_Tool 的计划,但仅供参考,Zend Studio 对 ZF2 有一些支持。您可以在youtube.com/watch?v=EerB9bTvqrY 看到功能的演练(注意:这不是我们使用的工作流程,所以我无法从个人经验中谈论它,但您可能会发现它很有用)【参考方案3】:

这是我朋友创建的一个工具,它是用java制作的,非常直观,如果您对如何使用它有任何疑问,请告诉我

https://bitbucket.org/Flavio378/jzftools/downloads/dist.zip

【讨论】:

【参考方案4】:

对于ZF1,你可以使用Zodeken,它提供了完整的crud接口。因为 zf2 正在开发中。

https://code.google.com/p/zodeken/

https://code.google.com/p/zodeken2/

【讨论】:

兄弟,你太棒了!如果可以的话,我会把我所有的名誉都转让给​​你。您共享的工具适用于 ZF1,什么教义:映射:导入 + 教义:映射:转换 + 教义:生成:实体 + 生成:教义:crud 适用于 Symfony2。非常感谢分享!!!!!!【参考方案5】:

对于 zend.framework 1 (ZF1) 我已经做了一个 crud(代码生成器) zend-crud 。试试看:http://magentoyan.com/zend-crud.html

【讨论】:

以上是关于Zend 框架有代码生成器吗?的主要内容,如果未能解决你的问题,请参考以下文章

生成rest api代码?

zend 框架设置有问题吗?

Zend 框架中的表单级别验证

java代码生成器能生成c语言代码吗?用啥方法能实现呢?

Rackspace 云站点上的 PHP(Zend 框架)代码分析

使用swagger有办法自动生成文档吗