[PHP] 自动加载的实现
2016-08-06 11:29
489 查看
基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载
文件结构:
|--Api
|--Account.php
|--User.php
|--Service
|--Login.php
|--User.php
|--Application.php
Application.php
Api\User.php
Api\Account.php
Service\Login.php
Service\User.php
结果:
文件结构:
|--Api
|--Account.php
|--User.php
|--Service
|--Login.php
|--User.php
|--Application.php
Application.php
<?php use Api\User; use Service\User as User2; class Application{ public static function main(){ self::registe(); new User(); new User2(); } public static function registe(){ spl_autoload_register("Application::loadClass"); } public static function loadClass($class){ $class=str_replace('\\', '/', $class); $class="./".$class.".php"; require_once $class; } } Application::main();
Api\User.php
<?php namespace Api; use Service\Login; class User{ public function __construct(){ echo "User类<br/>"; new Login(); new Account(); } }
Api\Account.php
<?php namespace Api; class Account{ public function __construct(){ echo "Account类<br/>"; } }
Service\Login.php
<?php namespace Service; class Login{ public function __construct(){ echo "Login类<br/>"; } }
Service\User.php
<?php namespace Service; class User{ public function __construct(){ echo "Service下的User类<br/>"; } }
结果:
相关文章推荐
- PHP中用魔术方法__autoload()实现类的自动加载
- PHP实现PSR-4自动加载
- PHP实现的简单路由和类自动加载功能
- php实现自动加载类
- PHP spl_autoload_register实现自动加载研究
- php+jquery+ajax滚动条滚动到底部自动加载,简单实现瀑布流
- php中使用__autoload()自动加载未定义类的实现代码
- PHP__autoload魔术方法实现自动加载
- PHP 自动加载的简单实现(推荐)
- php命名空间+spl_autoload_register实现类的自动加载
- php自动加载的两种实现方法
- PHP 使用命名空间(namespace),实现自动加载
- PHP反射API实现自动加载
- PHP命名空间自动加载之composer实现方式
- php自动加载的两种实现方法
- PHP spl_autoload_register实现自动加载研究
- PHP用反射API实现自动加载
- php自动加载类的实现 spl_autoload_register
- PHP的自动加载类的机制以及实现