通过一些研究,经常报道的关于Zend Framework
的一个缺点是起步所需的工作量。对我来说,如果ZF
拥有像Symfony那样强大的model
和backend interface
生成器,就可以解决这个问题。我一直在寻找那些,这就是我找到的:
http://code.google.com/p/zend-db-model-generator/:根据用户的反馈看起来像官方的一样,documentation似乎很糟糕。
http://code.google.com/p/zend-model-generator/:看起来很先进。 3个月前更新。
https://github.com/inxilpro/Galahad-FE/:未在2年内更新,看起来已经死了。
https://github.com/codeinchaos/zend-model-generator/blob/master/generate.php:单个php文件,可以作为基础使用,并根据需要进行扩展。
像往常一样,可以使用数据库管理工具
http://www.phpmyadmin.net:自3.5以来完全有很多新功能。难以延伸。
http://www.adminer.org/:单文件后端接口。相当完整。插件的使用似乎使扩展功能变得容易。
http://zfdatagrid.com/grid/default/site/crud来自看似非常活跃的ZF
相关项目:http://code.google.com/p/zfdatagrid/。
http://www.koala-framework.org/:我最近遇到过这个框架,它允许你围绕Zend创建“类似桌面”的应用程序,可以用来创建后端接口。
设置界面似乎非常简单,例如,您可以在此处显示一个表单来编辑与编辑成员相同的页面上的联系人:
<?php
class MemberContacts extends Kwf_Model_Db
{
protected $_table = 'member_contacts';
protected $_referenceMap = array(
'Member' => array(
'column' => 'member_id',
'refModelClass' => 'Members',
)
);
}
?>
A demo of Koala frameworks is available。说实话,它看起来非常令人印象深刻。
问:Zend使用哪种模型生成器和后端接口(生成器)以及为什么?
答案 0 :(得分:0)
我不使用任何类型的发生器,准备好的后台或所谓的脚手架。
为什么我不能以一般方式使用它们?
这些工具对生成的UI的结构方式有很强的依赖性,您不再具备以您想要的方式设计它的能力。
它们很难重复使用,除非你非常了解它们,它们引入了很多魔法,例如当我使用Django创建一个后台时我已经设置了五个参数并且我已经运行了后台运行。理解它是如何工作的确需要很多关于工具内部机制的知识,因此更新它可能是一个真正的痛苦。
在我看来,提供几乎完整的后台应用程序(如Symfony,Rails和Django)以及Zend Framework的作用之间存在很大差异:限制于一般框架和库。
在开箱即用的东西和灵活的东西之间有一个慎重的选择。我认为他们倾向于针对不同的需求。
我倾向于选择Zend Framework方法,因为我不满意(也没有经验,我承认它)与其他人提供的“差不多完成”#34; UI。
为什么我不能在Zend Framework中使用它们?
如果Zend Framework没有使用这些工具,我就不会插入别人试图建立的工具,因为没有什么可以保证不会有任何回归(并且升级可以自从Zend总是整合越来越多的外部服务以来,这是一件非常好的事情。 Zend Framework的强大之处在于它的灵活性,通过重叠工具,你违背了产品的理念。
它可能会满足您对真正小项目的期望,但对于更大的项目,我确实建议您根据自己的需要构建UI,后台只需要一两周的时间。