经过几个月的测试和一些额外的工作,我终于发布了Cgiapp2的第一个稳定版本。
它可以在Cgiapp网站和我的PhlyPEAR频道获得。
创建Cgiapp2分支时有大量更改。来自发行说明:
Cgiapp2.x系列完成了Cgiapp2的PHP5移植。PHP5兼容性更改包括所有属性和方法的可见性运算符、将许多方法声明为静态和/或最终方法,以及使用异常来捕获运行模式错误。不过,最值得注意的是Cgiapp2现在是一个抽象类,具有一个抽象方法setup();这迫使您必须继承Cgiapp2才能创建您的应用程序。
新功能包括:
回调挂钩系统。Cgiapp2现在是一个观察者主题,并且在应用程序中的多个位置都有挂钩。此外,它还提供了一种在您的应用程序中注册新挂钩的方法。回调钩子系统取代了Cgiapp1.7.0中引入的插件系统。
模板引擎现在降级为插件类,并且应该实现Cgiapp2_Plugin_Template_Interface。交付的模板引擎包括Smarty、Savant2、Savant3和XSLT。
改进和更广泛的错误处理,也已扩展到异常。Cgiapp2_Exception和Cgiapp2_Error都是observablesubjects,具有实现观察者的接口类。这允许开发人员绑定异常和错误并在触发时执行操作(日志和邮件观察器分别实现)。
Cgiapp2_FrontController类。这是一个简单的前端控制器,它向已注册类中的公共静态方法发送消息。包括用于处理静态页面的“页面”控制器。
Cgiapp2.x系列完成了Cgiapp2的PHP5移植。PHP5兼容性更改包括所有属性和方法的可见性运算符、将许多方法声明为静态和/或最终方法,以及使用异常来捕获运行模式错误。不过,最值得注意的是Cgiapp2现在是一个抽象类,具有一个抽象方法setup();这迫使您必须继承Cgiapp2才能创建您的应用程序。
新功能包括:
回调挂钩系统。Cgiapp2现在是一个观察者主题,并且在应用程序中的多个位置都有挂钩。此外,它还提供了一种在您的应用程序中注册新挂钩的方法。回调钩子系统取代了Cgiapp1.7.0中引入的插件系统。
模板引擎现在降级为插件类,并且应该实现Cgiapp2_Plugin_Template_Interface。交付的模板引擎包括Smarty、Savant2、Savant3和XSLT。
改进和更广泛的错误处理,也已扩展到异常。Cgiapp2_Exception和Cgiapp2_Error都是observablesubjects,具有实现观察者的接口类。这允许开发人员绑定异常和错误并在触发时执行操作(日志和邮件观察器分别实现)。
Cgiapp2_FrontController类。这是一个简单的前端控制器,它向已注册类中的公共静态方法发送消息。包括用于处理静态页面的“页面”控制器。
我为那些从1.x系列的Cgiapp迁移的人提供了迁移说明;您需要做的事情很少,但是PHP5的一些更改需要一些兼容性破坏,并且新的回调挂钩架构和将模板引擎分离到插件中的能力也引入了一些细微的变化。
在测试该版本时,我一直在编写一些利用一些新功能的应用程序,并且我将在接下来的几周内编写一些教程。