php 類自動載入方法
<?php
class inload
{
/**
* 類自動載入,不需要由開發者調用
*
* @param string $class 類文件
*/
private function autoload( $class )
{
if( empty($class) )
{
throw new QException('加載文件不存在'.$class);
}
else
{
require _SPRING_.'/_Core/SpringMap.php'; //框架地圖
if(! file_exists( $source[$class]['file'] ) )
{
throw new QException('加載文件不存在'.$class);
}
require $source[$class]['file'];
}
}
/**
* 注冊或取消注冊一個自動類載入方法
*
* 該方法參考 Zend Framework
*
* @param string $class 提供自動載入服務的類
* @param boolean $enabled 啟用或禁用該服務
*/
private function registerAutoload($class = 'Interpreter' , $enabled = true)
{
if (!function_exists('spl_autoload_register'))
{
throw new QException('spl_autoload 不存在這個PHP的安裝');
}
if ($enabled === true)
{
spl_autoload_register(array($class, 'autoload'));
}
else
{
spl_autoload_unregister(array($class, 'autoload'));
}
}
/**
* 析構函數
*/
public function __destruct()
{
self::registerAutoload('Interpreter' , false);
}
以上所述就是本文的全部內容了,希望大家能夠喜歡。