Blogger Information
Blog 40
fans 0
comment 0
visits 37786
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP学习总结(15)命名空间分级与自动加载——2019年10月10号20:00分
虎子爸爸
Original
776 people have browsed it

结果示例:

H:\phpstudy_pro\WWW\html.io\1010
inc\Test1类, 加载成功
inc\Test2类, 加载成功
inc\other\mao\Test20类, 加载成功
inc\other\mao\Test20类, 加载成功

主文件:1010\class-a.php

use必须在这个主文件上使用!

实例

<?php

namespace SKY;
// 自动加载注册方法

require "auto.php";
echo __DIR__;
use \inc\other\mao\Test20 as T20;
echo "<br>";
echo \inc\Test1::get(), '<br>';
echo \inc\Test2::get(), '<br>';
echo \inc\other\mao\Test20::get(), '<br>';
echo T20::get(),'<br>';

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

自动加载文件1010\auto.php

实例

<?php
// 自动加载回调函数
/*
函数使用说明
目录名称和命名空间必须一致
文件名称和类名称必须要一致
 */
spl_autoload_register(
    function ($className){
        $path = str_replace('\\', DIRECTORY_SEPARATOR, $className);
        $path = __DIR__ .'/'. $path . '.php';
        if (file_exists($path)) include $path;
    }
);

运行实例 »

点击 "运行实例" 按钮查看在线实例

需要加载的文件

1010\inc\Test1.php

实例

<?php
namespace inc;
class Test1{
    public static function get(){
        return __CLASS__ . '类, 加载成功';
    }
}
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

1010\inc\Test2.php

实例

<?php
namespace inc;
class Test2{
    public static function get(){
        return __CLASS__ . '类, 加载成功';
    }
}
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

1010\inc\other\Test9.php

实例

<?php
namespace inc\other;
class Test9{
    public static function get()
    {
        return __CLASS__ . '类, 加载成功';
    }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


1010\inc\other\mao\Test20.php

实例

<?php
namespace inc\other\mao;

class Test20{
    public static function get()
    {
        return __CLASS__ . '类, 加载成功';
    }
}
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:qualified

Teacher's comments:代码逻辑非常的清楚, 不错
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post