2-6关于自动引入自定义类的学习思路。
来源:2-6 【实战】在框架中新增自定义类
一场丶
2019-04-06
1、自动引入和application同级所在目录的singwa下的类库。
第一个做法:直接加一行。和自动加载 extend 目录做法一样
`self::addAutoLoadDir($rootPath . 'singwa');`、
第二个做法:在不修改 Loader.php
情况下:
在`think\base.php` 中`Loader::register();`注册`singwa`
`Loader::addAutoLoadDir(Loader::getRootPath().'singwa');`
或者 在不修改框架源代码的情况下,在应用入口文件index.php
中注册Loader::addAutoLoadDir(Loader::getRootPath().'singwa');
。
注意:不能在 执行应用后在注册。不然并没有添加进静态属性中。
singwa 老师。这样理解的有误不。
2.关于作业。
自动加载library
下的ali
下的类库文件。无非就是在Loader.php
中对其自动加载。
对其注册命名空间定义。Loader.php
有原代码如下:
self::addNamespace([
'think' => __DIR__,
'traits' => dirname(__DIR__) . DIRECTORY_SEPARATOR . 'traits',
]);
自动加载ali
下的类库文件。只需添加一行
self::addNamespace([
'ali' => dirname(__DIR__) . DIRECTORY_SEPARATOR . 'ali',
'think' => __DIR__,
'traits' => dirname(__DIR__) . DIRECTORY_SEPARATOR . 'traits',
]);
'ali' => dirname(__DIR__) . DIRECTORY_SEPARATOR . 'ali',
这样就是手动添加的。这样就自动注册了自定义类、
在不修改其源代码的情况下,自动注册thinkphp/library/ali
在其入口文件index.php
中添加:
Loader::addNamespace([
'ali' => Loader::getRootPath() . 'thinkphp/library/ali',
]);
。
玩了一天再学习-.-
不足之处请singwa老师多多指教。
写回答
1回答
-
singwa
2019-04-06
亲爱的同学您好。很棒,说明您能举一反三,学习就需要您这种精神,老师坚信 您只要坚持下去,肯定可以学好。赞。
422019-04-06
相似问题