您的位置 首页 php

30、php处理命名空间的类加载器

1、文件目录结构

  • 目录文件

  • 说明

2、文件源码如下

  • index.php
  • Load.php

<?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

<?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

<?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、执行结果

文章来源:智云一二三科技

文章标题:30、php处理命名空间的类加载器

文章地址:https://www.zhihuclub.com/151171.shtml

关于作者: 智云科技

热门文章

网站地图