ninny project 单元测试框架使用说明

系统运行要求 PHPUnit 3.1.x PHPUnit 的安装 参考:http://www.phpunit.de/pocket_guide/3.1/en/installation.html 建议使用 Pear 方式安装。 Pear 包的安装请参考http://pear.php.net/manual/en/installation.php 测试用例的编写 参考:http://www.phpunit.de/pocket_guide/3.1/en/writing-tests-for-phpunit.html 应注意,在本框架使用中实际无需在测试用例加载任何文件。 配置文件的设置 <?xml version=’1.0′ encoding=’UTF-8′ ?> <AllTests> <TestSuite> <name>FoobarTest</name> <require>AnotherFoobar.php</require> </TestSuite> <Test> <class>Foo_Bar_AllTest</class> <method>suite</method> <require>/home/foo/bar/AnotherLib.php</require> </Test> </AllTests> TestSuite? 标签指定需要加载的单元测试用例。name 标签指定测试用例名(类名)。 Test 为一组单元测试用例。class 标签指定测试用例组类名,method 标签指定该类返回 PHPUnit_Framework_TestSuite 实例的类方法。 类名的命名应遵从 Zend Framework 的命名规则,即下划线分隔文件路径作为类名。如:类文件存放于 Foo/Bar/AllTest.php,则类对应为 class Foo_Bar_AllTest {…}。 测试用例和测试用例组都将自动加载。保存于 include path 下,符合 Zend Framework 类命名规范的类也都将自动加载(使用 Zend_Loader::registerAutoload() …

ninny Project 的数据库完成向 mysql 5.0 的迁移

升级为 PowerDesigner 12 来维护逻辑表果然方便多了,可以随意生成 Oracle 10g 和 mysql 5.0 的物理表。在修改了配置文件之后,我惊喜的发现原来一行代码也不需要修改,就完成了迁移工作。Zend Framework 的数据库部分的设计果然可圈可点。 由于服务器自身的限制,以 Oracle 作为数据库的版本无法提供演示和下载。所以迫不得已只好再维护一个 mysql 5.0 的数据库版本。PowerDesigner 真的是利器,逻辑表不需要任何修改就可以生成 mysql 版本的物理表。如果大家有类似的迁移需求,推荐大家也用一用这个。等有钱了,一定买一套正版回来用。 修改了资源权值和角色权值为添加时间戳,这样可以省掉维护两个触发器。PowerDesigner 12 好像还不能编写 mysql 5.0 的触发器。或许我需要手工添加一些规则才可以再 PowerDesigner 中直接编写 mysql 的触发器。不过不管怎么样,现在不需要触发器也可以按正常的权值构造 ACL 对象了。 下一步的计划就是构造一个后台管理,将资源、角色、权限、用户等的管理都放到后台中进行。

为提升便利性,为 ninny Project 添加两个脚本工具

工具存放地址:svn://www.i-fang.com/IfangSites/trunk/app/bin 说明:这些工具是为快速开发编写的,请不要尝试在部署的时候使用。因为,多数服务器无法使用 CLI 方式执行 PHP 脚本。而这些工具只能执行于 CLI 模式下。 collectResouces.php —— 资源收集工具 我一直为 ACL 中资源的管理而烦恼,所以编写了这个工具。对于通用性资源(module、controller、action)进行采集,并按照顺序插入数据库中的资源表。 使用方法:php collectResouces.php createModule.php —— 模块、控制器、动作自动创建工具 其实编写 Controller Action 和 View Script 的第一步工作都是一样的。创建目录,创建文件,添加固定的内容……对于我来说,很烦。所以编写了这个脚本可以通过简单的 Yes/No 方式自动创建必要的目录、文件、代码框架。 使用方法:php createModule.php

基于 Zend Framework 的整合快速开发结构

在思考现有项目代码重构的过程中的附带产品。主要是基于 Zend Framework 并对其中一些内容进行扩展、整合。放弃部分灵活性,同时提高耦合度为代价,换取开发速度的提升。 我准备将这个项目的代号命名为“ninny”。 项目SVN : svn://www.i-fang.com/IfangSites 项目页面:http://blog.xxiyy.com/?page_id=21 欢迎拍砖。 现有 E-R 图,权限控制部分