<?php
/*
* 此为自动加载类。
* 主要任务是:
* 1.通过spl_autoload_register()函数解决“当实例化一个未定义的类时,系统报错问题”。
* 这种方法,在面向对象中经常使用,可以避免书写过多的引用文件,同时也使整个系统更加灵活。
* 这里用spl_autoload_register(array($this,'autoload')),意思是:当实例化一个未定义的类时,触发autoload()函数。
* 或者说,这个函数就是告诉PHP,当碰到没有定义的类时,就执行autoload()。
* 备注:从PHP5.1.2引入,摒弃了__autoload()。它的优势是一个项目可以有多个spl_autoload_register()函数。
*
*/
namespace Core;
class Autoload{
//注册spl_autoload_register函数
public function register(){
//当我们实例化一个未定义的类时,就会触发当前函数的autoload函数。
spl_autoload_register(array($this,'autoload'));
}
public function autoload($className){
$pathArr = explode('\\', $className); //explode() 函数把字符串打散为数组。这里是以\为分隔符进行打散。
$filename = array_pop($pathArr); //array_pop() 删除数组中的最后一个元素,返回数组的最后一个值。
$dir = implode(DIRECTORY_SEPARATOR, $pathArr); //implode 把数组元素组合为字符串(各元素之间用DIRECTORY_SEPARATOR即'/'连接)
$filename = $dir . '/' . $filename . '.php';
if(file_exists($filename)){
require_once $filename;
}else{
exit('Error:'.$className.' loading Failed');
}
}
}
?>
没有合适的资源?快使用搜索试试~ 我知道了~
自我搭建的结构清晰且通用的PHP Web应用开发框架(附实践案例测试代码)
共20个文件
php:15个
prefs:2个
project:1个
5星 · 超过95%的资源 需积分: 35 114 下载量 135 浏览量
2017-05-06
07:43:50
上传
评论 1
收藏 10KB RAR 举报
温馨提示
经过反复测试研究,并参考他人的实践项目,自己终于搭建成功一个非常通用,并且结构清晰的PHP web应用开发框架,终于不再去看ThinkPHP等复杂且不明晰的框架了。好多人的PHP案例代码,还要很多资源分,算了,我还是免费提供给同行,于人方便,于己方便嘛!希望本框架,大家提出宝贵意见,尤其是安全性方面的。
资源详情
资源评论
资源推荐
收起资源包目录
CommonPHPFrameWork.rar (20个子文件)
CommonPHPFrameWork
index.php 218B
Core
Function.php 1KB
Autoload.php 2KB
Start.php 1KB
Route.php 1KB
DB
DbInterface.php 483B
Model.php 888B
DB.php 843B
Mysql.php 1KB
.buildpath 174B
Admin
.settings
org.eclipse.wst.common.project.facet.core.xml 259B
org.eclipse.core.resources.prefs 393B
org.eclipse.php.core.prefs 67B
.project 734B
Application
Service
IndexService.php 762B
Model
IndexModel.php 332B
TestModel.php 348B
View
Default
index.php 456B
Controller
IndexController.php 676B
Config
config.php 895B
共 20 条
- 1
庭前的梧桐树
- 粉丝: 32
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2