开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

Cgiapp 双版本

今天,我发布了两个版本的Cgiapp,Cgiapp1.8.0和Cgiapp22.0.0rc1。

Cgiapp1.8.0是一个性能版本。我对该类进行了完整的代码审核,并进行了一些更改以提高性能并修复了一些以前不稳定的行为。此外,我在PHP4和PHP5下进行了测试,以确保两种环境中的行为相同。

但是,Cgiapp1.8.0标志着Cgiapp的最后一个功能版本。我弃用了支持Cgiapp2的分支。

Cgiapp2是Cgiapp的PHP5-only版本。一些变化:

  • Cgiapp2是一个抽象类,有抽象方法setup()。现在它是真正不可实例化的!
  • Cgiapp2广泛使用可见性运算符。关键方法已标记为最终方法,一些方法现在受到保护,其他方法是静态的。有关详细信息,请参阅更改日志。
  • Cgiapp2现在符合E_STRICT标准。
  • Cgiapp2实现CGI::Application4.x系列回调挂钩系统。这基本上是一种观察者模式,允许开发人员注册在运行时的不同位置执行的回调。
  • Cgiapp2添加了一些广泛的错误和异常处理类,包括可观察的错误和异常。
  • 我创建了一个模板界面。如果实现,模板引擎可以随意插入到架构中——在超类、应用程序类和实例脚本级别,允许开发人员混合搭配模板引擎或选择符合他们口味的任何一个,没有必须重写应用程序代码。包括三个模板插件:
    • Smarty
    • Savant2
    • Savant3

Cgiapp和Cgiapp2在Sourceforge上可用。

继续阅读以获取有关Cgiapp2演变的更多信息。

我一直不愿意将Cgiapp(1)仅用于PHP5,并且(2)成为版本2样式的PEAR包(例如,Cgiapp2与Cgiapp)。然而,我最近意识到两者都是必要的。

自从我在Zend工作以来,在过去的6个月里,我一直在阅读大量有关设计模式的书籍,并且接触了一堆高级PHP5代码。在开发Cgiapp2时,我决定同时使用两者,这样我可以帮助提高我的编码技能。

在这一点上,我不知道我是如何想到我可以在没有PHP5的情况下成功移植Cgiapp的。能够定义抽象类、静态属性和方法,并将方法标记为final是非常有用的,并使类更加健壮。

PHP5确实是PHP4的一大进步。我以前对此有些矛盾。我喜欢在不使用引用符号(例如=&)的情况下传递对象的能力,并且使用了一点SimpleXML,但总的来说并没有发现新功能有多大用处。随着我对设计模式的介绍,我开始看到它们的更多用途,因为如果没有它们,一些设计模式即使不是不可能也很难实现。可见性运算符确实很有用。静态属性和方法也非常有用。异常完全改变了PHP错误处理的面貌。我什至发现了反射API的用途,这是我从未想过会做的事情。

如果您还没有使用PHP5,那么您就是在伤害自己。今天升级,开始使用新的OOP模型编码项目。

关于版本号,我意识到如果我要有两个稳定版本的Cgiapp,将它们都命名为Cgiapp会使开发人员难以迁移—他们将无法轻松访问它们同时在同一台机器上。在向后兼容性方面,PEAR小组再一次做对了。因此,Cgiapp2.0.0被重命名为Cgiapp22.0.0。

享受新版本吧!

未经允许不得转载:我爱分享网 » Cgiapp 双版本

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏