有多容易扩展/修改Zend框架?(How easy is it to extend / modify

2019-07-20 09:07发布

我最近开始建造我十岁定制MVC框架的第2版。 这对我来说就一些项目伟大的工作,但我绝对看到改进的余地。 它缺少像ACL,表单验证,缓存和一些主要的功能。 虽然我很想去建立这些部分我自己,我知道,实际上这不是一个明智的决定。 所以,我开始寻找Zend框架1.9。 我真的很喜欢它的组件库是如何松散耦合。 然而,看着不同的教程,似乎很繁琐。 我已经看到了,我可以重复使用更少的代码,用我自己的框架一些示例应用程序。 因此,我想“重新定义”很大一部分,使之更加友好的RAD。 所以之前我投入了大量的时间挖成的框架,我希望有人能照到这个问题对我来说一些轻。 我在心脏编码器,并没有任何问题花费在小时的时间来研究和定制的东西,如果它有一个坚实的基础(我希望ZF有)。

我要指出,我非常高兴地看到,教义可以用ZF集成。

如果ZF是不容易扩展,还有什么其他框架是(也有ACL,表单验证,缓存)? 我一直在寻找的Symfony,但在公约的东西全配置困扰了我很多。

感谢您事先的任何输入。

编辑
要回答tharkun的问题,我的意思是“易于扩展”是,我可以推出自己的类(可能会或可能不会延长ZF类)和框架将它们打包,这样我可以轻松地构建的代码基础,为我自己项目。

Answer 1:

在流行的PHP框架ZF肯定是其中的一个最容易地扩展,特别是因为在松散耦合的,。

感谢您的澄清。

你描述的正是ZF擅长,但我会说这也正是OOP擅长,所以我会认为一个面向对象的框架,不支持此对垃圾箱的情况下。

无论如何。 随着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 /表/ Abstract.php。 你的库现在应该复制这个结构:在MyLibrary / DB /表/ 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
    */
}

你有什么考虑别人问这个问题是什么时候?



Answer 2:

我已经通过扩展ZF开发我自己的框架。 我可以告诉你,它可以轻松完成。 你可以使用你想要什么,并取代你不想要什么很容易。 全ZF如下OOP的核心。 他们采用最佳做法随处可见。 我已经通过观察其代码学到了很多东西。

我个人认为ZF是最好的PHP框架我见过。



Answer 3:

个人的Zend FW是我的最爱。 它踢屁股。 期。 ,虽然说,你有心脏是一个编码器,能够欣赏它。 它可以得到相当抽象的。

要回答你的问题; Zend公司FW非常扩展,一切 - 真是应有尽有 - 可以延长。 类命名规则是; 类Zend_This_IsAn_Example在/library/Zend/This/IsAn/Example.php发现了,你会延伸Whatever_This_IsAn_Example你会放在/library/Whatever/This/IsAn/Example.php它还具有自动加载,你可以启用,所以你将不必再require_once类文件。

MVC结构;

/应用/应用/控制器/申请的/ etc /应用/模型/应用/视图/库/库/的Zend /库/自定义/公

退房http://framework.zend.com/manual/en/introduction.html和http://framework.zend.com/docs/quickstart



Answer 4:

它并不完美 - 已经有使用静态成员和具体类的依赖于ZF的倾向 - 但有些已在更高版本的框架已经冰释前嫌。 我会说,与其他类似的框架相比,ZF做得很好。 事实上,松散耦合可能是框架的最大卖点。



Answer 5:

它几乎是延长Zend框架没有问题。

这是设置一个常见的做法某种“myExtenions”至极的是共同使用Zend框架库现有的。 作为例子,你可以看看上:

ZYM Zend框架扩展



Answer 6:

主要的一点是,你可以很容易地编写接口。 你是不是满意Zend_Acl_Resource实施? 使自己的资源类实现接口Zend_Acl_Resource_Interface :)



文章来源: How easy is it to extend / modify Zend Framework?