【php开源代码栏目提醒】:网学会员鉴于大家对php开源代码十分关注,论文会员在此为大家搜集整理了“App.class.php”一文,供大家参考学习
<?php
// +----------------------------------------------------------------------
// | ThinkPHP
// +----------------------------------------------------------------------
// | Copyright (c) 2008 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// $Id$
/**
+------------------------------------------------------------------------------
* ThinkPHP 搴旂敤绋嬪簭绫?鎵ц搴旂敤杩囩▼绠$悊
+------------------------------------------------------------------------------
* @category Think
* @package Think
* @subpackage Core
* @author liu21st <liu21st@gmail.com>
* @version $Id$
+------------------------------------------------------------------------------
*/
class App extends Base
{//绫诲畾涔夊紑濮?
/**
+----------------------------------------------------------
* 搴旂敤绋嬪簭鍚嶇О
+----------------------------------------------------------
* @var string
* @access protected
+----------------------------------------------------------
*/
protected $name ;
/**
+----------------------------------------------------------
* 搴旂敤绋嬪簭鏍囪瘑鍙?
+----------------------------------------------------------
* @var string
* @access protected
+----------------------------------------------------------
*/
protected $id;
/**
+----------------------------------------------------------
* 鏋舵瀯鍑芥暟
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @param string $name 搴旂敤鍚嶇О
* @param string $id 搴旂敤鏍囪瘑鍙?
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
public function __construct($name='App',$id='')
{
$this->name = $name;
$this->id = $id ;//| create_guid();
}
/**
+----------------------------------------------------------
* 鍙栧緱搴旂敤瀹炰緥瀵硅薄
* 闈欐佹柟娉?
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return App
+----------------------------------------------------------
*/
public static function getInstance()
{
return get_instance_of(__CLASS__);
}
/**
+----------------------------------------------------------
* 搴旂敤绋嬪簭鍒濆鍖?
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
public function init()
{
// 璁惧畾閿欒鍜屽紓甯稿鐞?
set_error_handler(array(&$this,"appError"));
set_exception_handler(array(&$this,"appException"));
// 妫鏌ラ」鐩槸鍚︾紪璇戣繃
// 鍦ㄩ儴缃叉ā寮忎笅浼氳嚜鍔ㄥ湪绗竴娆℃墽琛岀殑鏃跺欑紪璇戦」鐩?
if(file_exists(RUNTIME_PATH.'~app.php') && filemtime(RUNTIME_PATH.'~app.php')>filemtime(CONFIG_PATH.'config.php')) {
// 鐩存帴璇诲彇缂栬瘧鍚庣殑椤圭洰鏂囦欢
C(array_change_key_case(include RUNTIME_PATH.'~app.php'));
}else{
// 棰勭紪璇戦」鐩?
$this->build();
}
// 璁剧疆绯荤粺鏃跺尯 PHP5鏀寔
if(function_exists('date_default_timezone_set'))
date_default_timezone_set(C('TIME_ZONE'));
if('FILE' != strtoupper(C('SESSION_TYPE'))) {
// 鍏跺畠鏂瑰紡Session鏀寔 鐩墠鏀寔Db 閫氳繃杩囨护鍣ㄦ柟寮忔墿灞?
import("Think.Util.Filter");
Filter::load(uc
words(C('SESSION_TYPE')).'Session');
}
// Session鍒濆鍖?
session_start();
// 鍔犺浇鎻掍欢 蹇呴』鍦⊿ession寮鍚箣鍚庡姞杞芥彃浠?
if(C('THINK_PLUGIN_ON')) {
$this->loadPlugIn();
}
// 搴旂敤璋冨害杩囨护鍣?
// 濡傛灉娌℃湁鍔犺浇浠讳綍URL璋冨害鍣?
// 榛樿鍙敮鎸?QUERY_STRING 鏂瑰紡
// 渚嬪 ?m=user&a=add
if(C('DISPATCH_ON')) {
if( 'Think'== C('DISPATCH_NAME') ) {
// 浣跨敤鍐呯疆鐨凾hinkDispa