kei*_*thm 28 php zend-framework
我不是一个巨魔,我的目标不是开始一场火焰战; 我不是不尊重Zend框架的作者:它有很多很好的工作.但是......我有一份工作要完成,而且我很难协调ZF的受欢迎程度与使用它构建应用程序的现实.我真的想知道其他人为什么使用Zend Framework.
我对PHP世界还很陌生,但我已经用很多语言做了很多编程.在阅读了许多教程并在其中构建了几个应用程序后,一些核心Zend Framework工具对我来说就像是alpha代码.对我来说,下面的根本性缺陷,等等,似乎过于庞大考虑部署它的应用程序-但一遍又一遍的ZF建议为一体的,如果不是在领先的框架.
首先让我说我发现ZF的大部分是可行的.路由工作非常适合,布局工具是可维护的(虽然与模板系统(如JSP/ASP)非常不同),缓存设施等也是如此.社区中似乎有一种趋势,即填充大量建模(例如验证)和查看逻辑(例如$ this-> headScript() - 为什么我的控制器必须关心我的视图需要哪个js文件?)到控制器中但可能是使用问题而不一定是框架的错误.
现在,我在短时间内遇到了一些非常严重(IMO)的弱点.如果我继续用它构建,我会想象未来我会发现的其他领域.
1.表单布局
 
许多人似乎对缺乏对表单布局的控制感到不满.你怎么能有一个流行的框架,构建一个简单的表单需要这么多的讨论?
问题1和问题2.
2.认证/授权
 
似乎没有人真正理解如何简单地执行例行认证/授权.人们[包括你的人]真正努力实现简单的访问控制.此外,该方法似乎依赖于持久性的序列化,而不是传统的用户和权限的数据库存储.
一个令人困惑的例子,一个建议,增加设施,教程-第一部分,
 和第二部分.这是太多的工作家伙!
我认为的弱点是不真实的还是某种程度上不是问题?为什么或者为什么不?你为什么选择Zend Framework(或不)?您是否发现其他区域如此痛苦以至于您想要将ZF转换为其他方法?谢谢你的意见.
Roc*_*och 17
因为他们擅长营销
Zend的创始人Andi Gutmans和Zeev Suraski是PHP的主要贡献者
他们有一个最完整的PHP框架.
当你想到它; 就像说:
"我们的语言不尽如人意,因此我们制作了一个带缓存的框架,使其更快"
表单:装饰器方法很复杂,但对于具有多种形式的应用程序而言是防弹且无价的.如果表单中有10个或25个项目,则无关紧,样式始终相同.当您知道如何使用它时,可以为您节省大量的工作.对于思维和目标更简单的用户,总会有viewScript装饰器;)
Auth/Acl:从来没有遇到任何问题.
Zend_Auth::getInstance()->hasIdentity() //logged in
和
Zend_Auth::getInstance()->getIdentity()->role; //returns admin
对于Acl:
$acl->isAllowed($who,  $where, $what);
$acl->isAllowed('roleAdmin', 'resourcePosts', 'create'); //returns true
可以轻松修改以匹配MVC:
$acl->isAllowed('roleAdmin', $module.ucfirst($controller), $action); //returns true
$acl->isAllowed('roleAdmin', 'adminPosts', 'create'); //returns true
小智 6
用ZendFramework为我着色.使用Zend Framework就像将一组训练轮焊接到您的代码中.您可以在Zend Framework中执行的任何操作都可以在原始PHP中执行.(记住ZF本身是用原始PHP编写的.)而且你通常可以使用相同数量的代码行来完成它 - 以与应用程序其余部分一致的方式编写.而且,通过使用本机PHP代码,您不会陷入只有少数PHP开发人员使用的小众工具.而且您不必担心与ZF版本的更改兼容.
在我的应用程序中,我做了与ZF工具相同的事情,主要是通过使用已存在多年的简单PHP函数:
我在Zend Framework中找不到任何值得我花时间的东西.并且不要让我开始咄咄逼人的"脚手架"框架,如CodeCoffin,AppShackler或Ruby in Chains.