1、文件目录结构
- 目录文件
- 说明
2、文件源码如下
- index.php
- Load.php
/**
* Copyright(C) Iamasb
* @project : 3、workerman相关知识点
* @explain : 处理命名空间的类加载器
* @filename : Load.php
* @author : Iamasb
*/
class Load
{
/**
* 文件格式常量
*/
const PREFIX = “.php”;
/**
* 命名空间名称
*/
const NAME = “name1”;
/**
* 处理类文件加载的核心方法
* @param $className
* @return bool
*/
public static function toDo($className)
{
$className = str_replace(‘\\’, DIRECTORY_SEPARATOR , $className);
$file = __DIR__ . DIRECTORY_SEPARATOR .$className. self :: PREFIX ;
if (!file_exists($file)) {
die ($className.” is not exits.”);
}
if (!class_exists($className, false )) {
include_once $file;
}
return true ;
}
}
spl_autoload_register(“Load::toDo”);
- TestClass.php
/**
* Copyright(C) Iamasb
* @project : 3、workerman相关知识点
* @explain : 类加载器,被加载的测试类
* @filename : TestClass.php
* @author : Iamasb
*/
class TestClass
{
public function func()
{
echo ‘hello world’, PHP_EOL ;
}
}
- NameClass.php
/**
* Copyright(C) Iamasb
* @project : 3、workerman相关知识点
* @explain : 类加载器,被加载的测试类
* @filename : TestClass.php
* @author : Iamasb
*/
namespace name1;
class NameClass
{
public function func()
{
echo ‘hello I am nameClass->func’, PHP_EOL ;
}
}
3、执行结果
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~