美文网首页
命名空间与自动加载(以laravel框架举例)

命名空间与自动加载(以laravel框架举例)

作者: 大也也 | 来源:发表于2019-03-17 22:29 被阅读0次

    命名空间

    1.namespace 必须是文件的第一句。前面可以有注释
    2.namespace 定义命名空间时。最前面不能有 \
    3.use导入命名空间时。前面可以有\ 但不建议加
    4.定义和导入命名空间时,统一前面不加\
    5.所有类均由use导入。有冲突就as一下
    6.禁止使用相对命名空间
    7.命名空间建议和目录一致。但也可以弄一套跟目录结构不一样的命名空间,但是容易混乱,不方便管理

    自动加载

    _autoload

    当new一个类的对象时,如果当前文件中木有这个类,则自动触发_autoload()

    function  __autoload($class){
         $classpath =  "{$class}.php";
         if(file_exist($classpath)){
            include_once($classpath);
         }else{
            echo $classpath."not found";
         }
    }
    

    spl_autoload_register

    自定义函数替代__autoload()
    使用方法跟__autoload()相似

    function myAutoload($class){
        $classpath = "{$classpath}.php";
        if(file_exists($classpath)){
            include_once($classpath);
        }else{
            echo $classpath."not found";
       }
       
    }
    spl_autoload_register("myAutoload");
    
    1.当文件中同时出现__autoload 和 spl_autoload_register.以spl_autoload_register为准
    2.spl_autoload_register可多次调用。注册的多个函数以事件的先后顺序进行调用

    相关文章

      网友评论

          本文标题:命名空间与自动加载(以laravel框架举例)

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