一、项目的入口函数
static public function start() {
// 设定错误和异常处理
register_shutdown_function(array('Think','fatalError'));
set_error_handler(array('Think','appError'));
set_exception_handler(array('Think','appException'));
// 注册AUTOLOAD方法
spl_autoload_register(array('Think', 'autoload'));
//[RUNTIME]
Think::buildApp(); // 预编译项目
//[/RUNTIME]
// 运行应用
App::run();
return ;
}
二、加速获取类文件函数
/**
* 快速定义和导入别名 支持批量定义
* @param string|array $alias 类库别名
* @param string $classfile 对应类库
* @return boolean
*/
function alias_import($alias, $classfile='') {
static $_alias = array();
if (is_string($alias)) {
if(isset($_alias[$alias])) {
return require_cache($_alias[$alias]);
}elseif ('' !== $classfile) {
// 定义别名导入
$_alias[$alias] = $classfile;
return;
}
}elseif (is_array($alias)) {
$_alias = array_merge($_alias,$alias);
return;
}
return false;
}
三、区分大小写的文件存在判断
/**
* 区分大小写的文件存在判断
* @param string $filename 文件地址
* @return boolean
*/
function file_exists_case($filename) {
if (is_file($filename)) {
if (IS_WIN && C('APP_FILE_CASE')) {
if (basename(realpath($filename)) != basename($filename))
return false;
}
return true;
}
return false;
}