php – 扩展/修改Zend Framework有多容易?
我最近开始构建我一年的自定义MVC框架的第2版.在许多项目中,它对我很有用,但我确实看到了改进的空间.它缺少一些主要功能,如ACL,表单验证和缓存.尽管我自己喜欢自己构建这些部件,但实际上我知道这不是一个明智的决定.所以,我开始研究Zend Framework 1.9.我真的很喜欢它的组件库松散耦合.但是,通过查看不同的教程,它看起来非常冗长.我已经看到了一些示例应用程序,我可以用我自己的框架使用更少的代码复制.因此,我想“重新定义”它的大部分内容,以使其更加友好.因此,在我花费大量时间深入研究框架之前,我希望有人可以为我阐明这个主题.我是一个内心的编码员,如果它有一个坚实的基础(我希望ZF有),可以花几个小时调整和定制一些东西.
我应该注意到,我很高兴看到Doctrine可以与ZF集成. 如果ZF不容易扩展,那么其他框架是什么(还有ACL,表单验证,缓存)?我一直在看Symfony,但整个Configuration over Convention事情让我很烦恼. 提前感谢任何输入. 编辑 解决方法
在流行的
PHP框架中,ZF肯定是最容易扩展的框架,特别是因为松耦合.
谢谢你的澄清. 你所描述的正是ZF所擅长的,但我会说它也正是OOP所擅长的,所以我认为OO框架不支持垃圾箱的情况. 无论如何.使用ZF时,通常以将自己的库保存在与ZF文件夹结构并行的结构中的方式完成.您可以使用ZF自动装载器,并通过将库文件夹添加到命名空间来将其注册到自动装带器.例: //this will be the only require needed for your whole application require_once 'Zend/Loader/Autoloader.php'; $loader = Zend_Loader_Autoloader::getInstance(); $loader->registerNamespace('Mylibrary_'); 在Mylibrary中,您应该遵循ZF命名约定.假设您要扩展Zend_Db_Table_Abstract类.该类逻辑上位于Zend / Db / Table / Abstract.php下.您的库现在应该复制该结构:Mylibrary / Db / Table / Abstract.php.你会在那个文件中命名你的类: class Myproject_Db_Table_Abstract extends Zend_Db_Table_Abstract { /* now you're ready to extend and override as much as you like. and as a bonus you'll not even hav to include your library files since your library is registered with the loader */ } 在提出这个问题时,你有什么想法吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |