__autoload()和spl_autoload_register()
来源:互联网 发布:java实现单链表 编辑:程序博客网 时间:2024/05/19 18:15
前者直接加载包含文件,后者指定函数加载包含文件。
<?php
//DIRECTORY_SEPARATOR当前系统的目录分隔符
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
//定义站点根目录
if (!defined('SMARTY_DIR')) {
define('SMARTY_DIR', dirname(__FILE__) . DS);
}
//定义引入类库目录
if (!defined('MYINCLUDE_DIR')) {
define('MYINCLUDE_DIR', SMARTY_DIR . 'include' . DS);
}
//get_include_path()为引入文件目录列表
//set_include_path()向原目录添加新的调用目录
//PATH_SEPARATOR 为系统常量,目录列表间的分隔符
set_include_path(get_include_path().PATH_SEPARATOR.MYINCLUDE_DIR);
//指定引入新类时,通过调用的函数为loadclass
spl_autoload_register('loadclass');
//load_substr,外部类
$ls=new load_substr("abcdefg");
echo $ls->sub_str2(3);
//spl_autoload_register()方式调用
function loadclass($classname){
$file_path=MYINCLUDE_DIR.$classname.'.php';
if(is_file($file_path)){
include $file_path;
}
}
//__autoload()方式调用
function __autoload($classname){
$file_path=MYINCLUDE_DIR.$classname.'.php';
if(is_file($file_path)){
include $file_path;
}
}
//当__autoload()和spl_autoload_register()同时使用时,程序将优先使用后者。
?>
include/load_substr.php
<?php
class load_substr{
public $substr='';
public function __construct($str){
$this->substr=$str;
}
public function sub_str2($num){
return substr($this->substr,0,$num);
}
}
?>
- __autoload()和spl_autoload_register()
- __autoload和spl_autoload_register()
- PHP函数__autoload()和spl_autoload_register()
- 117 php __autoload 和 spl_autoload_register
- __autoload()和spl_autoload_register()的理解
- PHP函数spl_autoload_register()用法和__autoload()介绍
- PHP函数spl_autoload_register()用法和__autoload()介绍
- PHP中spl_autoload_register()和__autoload()区别分析
- php中__autoload和spl_autoload_register的用法
- PHP中spl_autoload_register()和__autoload()区别
- PHP框架优化-spl_autoload_register()用法和__autoload()
- PHP中的__autoload()和spl_autoload_register()笔记
- PHP函数spl_autoload_register()用法和__autoload()介绍
- PHP函数spl_autoload_register()用法和__autoload()介绍
- __autoload与spl_autoload_register
- spl_autoload_register与__autoload区别
- PHP自动加载类—__autoload()和spl_autoload_register()
- PHP自动加载类—__autoload()和spl_autoload_register() (补充)
- linux下的信号机制
- Arduino例子--调光
- Tyvj1044数字三角形(动态规划入门)
- eclipse快捷键
- PHP对象
- __autoload()和spl_autoload_register()
- js/php的encodeURI
- STL deque 优势分析
- 开散列表
- 使用Smarty的简要配置
- Smarty字符串、函数变量调节器
- postgresql在windows(包括win7)下的安装配置
- The Kübler-Ross grief cycle
- Java设计模式—适配器(Adapter)