[PHP] 自动加载的实现
2023-02-18 15:47:24 时间
基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载
文件结构:
|--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/>"; } }
结果:
相关文章
- 一步一步学习Reporting service——第一天
- WEB版一次选择多个文件进行批量上传(swfupload)的解决方案
- [转]根据性能监视器,分析性能瓶颈
- 数据库优化方法(三)
- 数据库优化方法(二)
- 数据库优化方法 (一)
- 水晶报表钻取数据,在明细层导的时候,报表会从新加载,并显示主报表
- [MySQL] mysql中实现统计每日数量
- [MySQL] group_concat多行数据合并到一行方便取出来进行in查询
- 验证视图状态 MAC 失败的解决办法
- [MySQL] 解决mysql导出excel数值型变成科学计数法问题
- [转] SQL Server 2005索引碎片整理SQL语句
- [转]gridview获取当前行索引的方法
- [日常] 电脑上输入emoji🤔表情方法
- 数据库系统的维护与优化(二)
- 数据库系统的维护与优化(一)
- sql server 2005中的Service broker小示例(未完善)
- sql server 错误9003:LSN无效(日志扫描号无效),对数据库的修复.
- sqlserver注入方式与安全防护的学习
- [PHP] laravel中collect数组排序和过滤的使用