框架扩展
框架扩展基本要求
为了能够顺利的进行后续的框架升级工作,请不要直接修改框架核心源码。针对 phpGrace/ 文件夹,详见下面的注释 :
|_ phpGrace // 目录不可重命名( 涉及命名空间及自动加载 ) |_ cacheDataFiles // 文件型缓存数据保存目录 [ 可修改内部文件 ] |_ caches // 缓存类文件夹,自行创建缓存类 [ 可修改内部文件 ] |_ configs // 自定义配置文件目录 [ 可修改内部文件 ] |_ fonts // 框架字体文件夹 [ 可修改内部文件 ] |_ models // 全局模型文件夹 [ 可修改内部文件 ] |_ templates // 框架模板 [ 不可直接修改 ] |_ tools // 框架工具包 [ 可新增文件不建议直接修改 ] |_ config.php // 全局配置文件 [ 可修改 ] |_ phpGrace.php // 框架核心文件 [ 不可直接修改 ]
工具类库扩展
把经常使用的功能封装成工具类,然后在项目中以工具对象形式使用是个不错的面向对象解决方案,工具类扩展步骤:
// 1. 在phpGrace/tools目录下创建工具类文件,命名规则 : 工具类名称.php (如:test.php) // 2. 编写类文件的代码,如: /* test 类 */ <?php namespace phpGrace\tools; // 注意命名空间 class test{ public function sayhi(){ echo 'say hi....'; } } // 3、在控制器、模型、视图等环节调用,如: <?php class indexController extends grace{ public function index(){ $test = new phpGrace\tools\test(); $test->sayHi(); } }
框架基础控制器 grace 扩展
对 grace 基础控制器进行扩展,可以避免项目中极为常用方法的代码重复,扩展方法:
// 创建一个自定义基础控制器继承 grace类,在 grace 的基础上封装自己的方法,然后自定义控制器继承自定义基础控制器; // 例 : 在 app/controllers/ 文件夹下创建一个 base.php <?php class baseController extends grace{ public function __init() { parent::__init(); // TODO: Change the autogenerated stub } public function __construct() { parent::__construct(); } public function myFunc(){ echo 'my fun..'; } } // 其他控制器都继承 baseController // 例如 : <?php class indexController extends baseController { public function index(){ echo 'index 控制器 ...'; } }
自定义函数扩展
框架提供了自定义函数文件并支持您扩展自己的定义函数
composer 扩展
您可以在 phpGrace 框架内使用 composer 加载更多成熟的 php 类库 ( https://packagist.org/ )