通用规则
浏览数 101570
最后修改时间
存放规则
项目根目录里的 helper 是所有类文件的默认存放目录,为什么称它为默认目录呢?因为当我们调用一个类的时候,首先会去 helper 目录查找对应的类文件。除了 helper 目录,你可以按照用途创建不同的目录存放类文件。
命名规则
目录名由大小写字母及数字组成,不能包含其它字符。
类文件名和类名可以使用驼峰式命名,也可以使用下划线连接单词的方式命名。
helper 目录中的类文件可以随意命名,但类名必须与文件名一致。其它目录中的类文件名也需要与类名一致,并且多了一个规则:文件名的前缀需要与其目录名一致。
调用方法
在YiluPHP中,只要符合了存放规则和命名规则,所有类都是自动的按需加载的,就是说若你没有使用到某个类,是不会加载它的,只有你使用一个类的时候,系统才会自动去加载它。加载顺序是:先去 helper 目录中查找,再去类名前缀的目录中查找。由此可见若你把文件存放在 helper 目录中,加载速度是更快的。
所有都要实现一个静态方法 I() ,它会返回类本身的单一实例,例如这是框架自带的一个类:调用 helper 目录中的 helper_demo.php 类的 test_helper() 方法,可以这样:
helper_demo::I()->test_helper();
$obj = new helper_demo();
$res = $obj->test_helper();
更改类的存放目录
不管你是出于安全防护还是文件更方便管理的目的,想变更类文件的存放目录,只需要在全局变量$config里做配置就行了,在文件 /config/app.php 中可见全局变量$config。配置方法为:给$config增加一个键值对,键名格式为 类名_path ,键值为目录路径,以目录分隔符结尾,例如:
$config = [
...
'model_path' => '/data/web/common_model/', //把数据库操作的model文件存放在公共目录,给所有项目通用
'logic_path' => '/data/web/common_logic/', //把逻辑处理文件存放在公共目录,给所有项目通用
'tool_path' => '/data/web/common_tool/', //把工具类文件存放在公共目录,给所有项目通用
...
];
给类取别名
我并不赞同随意的使用别名,因为这将加长程序的执行步骤,导致效率下降。如果你真的迫不得已需要使用别名,可以按以下方法定义类的命名。
在全局变量 $config['helper_alias'] 中以键值对的形式定义类的别名,键名是别名,键值是类的本名。例如:
$config = [
...
'helper_alias' => [
'tool_pager' => 'tool_my_pager',
];
...
];