美文网首页laravel核心
laravel空类继承总是继承SPL的原因

laravel空类继承总是继承SPL的原因

作者: 云龙789 | 来源:发表于2018-09-05 11:18 被阅读3次

    我们会发现 laravel 框架源码中有很对 SPL的 多空继承
    比如下图

    image.png

    期初不理解,现在来看,个人的理解是,在获取 SPL 类的函数时,不需要每次都重新绑定这个类。内在的机制我会后续慢慢研究补充,但是作用应该就是这个作用

    比如你要继承 SplFileInfoSPL 获取一个文件后缀,需要这样写代码

    app()->bind('test',function(){
        return new \SplFileInfo(__FILE__);
    });
    $extension = app('test')->getExtension();
    dd($extension);
    

    但是如果我们单独写一个类继承 SplFileInfo, 就可以直接获取里面的值,不需要每次都重新绑定这个类

    <?php
    
    namespace App\Http\Controllers;
    
    class LongController extends \SplFileInfo
    {
    
        public function __construct($file_name = __FILE__)
        {
            parent::__construct($file_name = __FILE__);
        }
    }
    

    然后在需要获取文件后缀的函数里面可以直接执行
    dd(app(LongController::class)->getExtension());

    相关文章

      网友评论

        本文标题:laravel空类继承总是继承SPL的原因

        本文链接:https://www.haomeiwen.com/subject/qvtawftx.html