php命名空间+spl_autoload_register实现类的自动加载

简介:
  1. 自动加载方法:
    function my_autoload($name){
    $name = str_replace('\\',DIRECTORY_SEPARATOR,$name);
    require $name.'.class.php';
    }
  2. 注册:
    spl_autoload_register(__NAMESPACE__.'\\my_autoload');
  3. 代码:
    a. 入口文件:index.php
    <?php
    namespace Index;
    use auto\say;
    use auto\mycolor\color;
    function my_autoload($name){
    $name = str_replace('\\',DIRECTORY_SEPARATOR,$name);
    require $name.'.class.php';
    }
    spl_autoload_register(__NAMESPACE__.'\\my_autoload');
    $say = new say();
    $say->hello();
    $color = new color();
    $color->test();

    b. auto/say.class.php:

    <?php
    namespace auto;
    class say{
    public function hello(){
        echo "hello";
    }
    }

    c. auto/mycolor/color.class.php:

    <?php
    namespace auto\mycolor;
    class color{
    public function test(){
        echo "blue";
    }
    }			本文转自 bilinyee博客,原文链接:      http://blog.51cto.com/12173069/2071302  如需转载请自行联系原作者


相关文章
|
1月前
|
Java 程序员 PHP
PHP对象和类
PHP对象和类
21 0
|
8月前
|
XML 移动开发 Shell
CTF中常用的php原生类总结
CTF中常用的php原生类总结
120 0
|
9月前
|
存储 安全 搜索推荐
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
460 0
|
9月前
|
安全 关系型数据库 MySQL
使用php解压缩ZipArchive类实现后台管理升级的解决方案
使用php解压缩ZipArchive类实现后台管理升级的解决方案
55 0
|
9月前
|
关系型数据库 MySQL 程序员
漏刻有时操作数据php类记录及筛选条件的写法
漏刻有时操作数据php类记录及筛选条件的写法
41 1
|
9月前
|
定位技术 PHP
php基于百度地图封装的对象类实现计算地图上两点间的距离和地理编码
php基于百度地图封装的对象类实现计算地图上两点间的距离和地理编码
60 0
|
9月前
|
PHP
php计算两个坐标点之间的距离的类
php计算两个坐标点之间的距离的类
72 0
|
11月前
|
安全 PHP
PHP中为什么静态类是不能被实例化的类?底层原理是什么?
PHP中为什么静态类是不能被实例化的类?底层原理是什么?
|
程序员 PHP
PHP的ReflectionClass类是干什么的?底层原理是什么?
PHP的ReflectionClass类是干什么的?底层原理是什么?
128 0