首页 > php教程 > php手册 > 正文

[PHP] 自动加载的实现

php中文网
发布: 2016-08-08 08:49:51
原创
1364人浏览过

基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载

文件结构:

|--Api
  |--Account.php
  |--User.php
|--Service
  |--Login.php
  |--User.php

|--Application.php

Application.php

立即学习PHP免费学习笔记(深入)”;

<?<span style="color: #000000;">php
</span><span style="color: #0000ff;">use</span><span style="color: #000000;"> ApiUser;
</span><span style="color: #0000ff;">use</span> ServiceUser <span style="color: #0000ff;">as</span><span style="color: #000000;"> User2;
</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Application{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> main(){
        self</span>::<span style="color: #000000;">registe();
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> User();
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> User2();
    }
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> registe(){
        spl_autoload_register(</span>"Application::loadClass"<span style="color: #000000;">);
    }
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> loadClass(<span style="color: #800080;">$class</span><span style="color: #000000;">){
        </span><span style="color: #800080;">$class</span>=<span style="color: #008080;">str_replace</span>('\', '/', <span style="color: #800080;">$class</span><span style="color: #000000;">);
        </span><span style="color: #800080;">$class</span>="./".<span style="color: #800080;">$class</span>.".php"<span style="color: #000000;">;
        </span><span style="color: #0000ff;">require_once</span> <span style="color: #800080;">$class</span><span style="color: #000000;">;        
    }
}
Application</span>::main();
登录后复制

ApiUser.php

<?<span style="color: #000000;">php
namespace Api;

</span><span style="color: #0000ff;">use</span><span style="color: #000000;"> ServiceLogin;
</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> User{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "User类<br/>"<span style="color: #000000;">;
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Login();
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Account();
    }
}</span>
登录后复制

ApiAccount.php

度加剪辑
度加剪辑

度加剪辑(原度咔剪辑),百度旗下AI创作工具

度加剪辑63
查看详情 度加剪辑
<?<span style="color: #000000;">php
namespace Api;

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Account{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "Account类<br/>"<span style="color: #000000;">;
    }
}</span>
登录后复制

ServiceLogin.php

<?<span style="color: #000000;">php
namespace Service;

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Login{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "Login类<br/>"<span style="color: #000000;">;
    }
}</span>
登录后复制

ServiceUser.php

<?<span style="color: #000000;">php
namespace Service;

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> User{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "Service下的User类<br/>"<span style="color: #000000;">;
    }
}</span>
登录后复制

结果:

 

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号