框架扩展

框架扩展基本要求

为了能够顺利的进行后续的框架升级工作,请不要直接修改框架核心源码。针对 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/ )