php yaf框架扩展实践二——多模块
虽然多模块的配置可能会有一些争议,但是在项目前期能加快开发效率和部署效率,若项目发展起来有了更多的资源后可以考虑分拆模块。yaf也支持多模块的配置,先看下yaf如何配置多模块。
yaf配置多模块
假如我们要新增加一个api模块,用来提供给app调取使用;新增一个admin模块用来做后台管理。
配置文件中增加:
application.modules = Index,Api,Admin
applicaiton目录下新建modules目录,目录结构如下:
其中Admin、Api目录就和配置的模块名称一致,每个模块目录下都可以新建controllers和views目录用作控制器和视图,唯一遗憾的是模块下的models内的文件不支持自动载入,所以在该模块下的一些业务方法只能放在application/models目录下。
什么时候需要新建模块
一般来讲如果该模块具有统一的控制方法则可以考虑新建模块,如果上例api模块,用来提供给app调取使用,其中可以封装统一的数据输出方法。admin模块可以统一封装授权和校验登录。统一封装的方式参见library下的控制器父类:
小结
在项目初期通过多模块的使用,可以很好的重用代码,管理起来也方便很多。只是要考虑到未来模块拆分的可能性,尽量避免各模块之间耦合度太高,因为都在同一个项目里开发这样的问题有时很容易犯,需要特别注意。另外在部署的时候需要注意下权限访问问题,例如admin模块可以考虑限制ip访问、内部的接口模块只允许服务器内访问等。
本文转自:http://www.01happy.com/php-yaf-ext-muti-modules/