请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

2-6关于自动引入自定义类的学习思路。

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老师多多指教。

正在回答 回答被采纳积分+3

1回答

singwa 2019-04-06 23:12:15

亲爱的同学您好。很棒,说明您能举一反三,学习就需要您这种精神,老师坚信 您只要坚持下去,肯定可以学好。赞。

4 回复 有任何疑惑可以回复我~
  • 提问者 一场丶 #1
    hh,老师谬赞了-.-。在老师的指导下,学习的更好。hh
    回复 有任何疑惑可以回复我~ 2019-04-06 23:33:22
  • singwa #2
    赞赞赞
    回复 有任何疑惑可以回复我~ 2019-04-06 23:57:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信