通用规则

浏览数 101570 最后修改时间
存放规则
项目根目录里的  helper  是所有类文件的默认存放目录,为什么称它为默认目录呢?因为当我们调用一个类的时候,首先会去  helper  目录查找对应的类文件。除了  helper  目录,你可以按照用途创建不同的目录存放类文件。
命名规则
目录名由大小写字母及数字组成,不能包含其它字符。
类文件名类名可以使用驼峰式命名,也可以使用下划线连接单词的方式命名。
  helper  目录中的类文件可以随意命名,但类名必须与文件名一致。其它目录中的类文件名也需要与类名一致,并且多了一个规则:文件名的前缀需要与其目录名一致。
调用方法
在YiluPHP中,只要符合了存放规则和命名规则,所有类都是自动的按需加载的,就是说若你没有使用到某个类,是不会加载它的,只有你使用一个类的时候,系统才会自动去加载它。加载顺序是:先去 helper 目录中查找,再去类名前缀的目录中查找。由此可见若你把文件存放在 helper 目录中,加载速度是更快的。
所有都要实现一个静态方法  I()  ,它会返回类本身的单一实例,例如这是框架自带的一个类:调用 helper 目录中的 helper_demo.php 类的 test_helper() 方法,可以这样:
helper_demo::I()->test_helper();
如果你不想使用  I()  方法返回的实例,而是想新实例化一个对象,那你直接实例化就好了
$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',
    ];
    ...
];
在上面的例子中 tool_pager 为别名,tool_my_pager 为本名,当使用 tool_pager::I()->get_url(); 时,实际访问的是 /tool/tool_my_pager.php类中的 get_url() 方法。

我来说说