| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | <?php/** *  application.class.php PHPCMS应用程序创建类 * * @copyright			(C) 2005-2010 PHPCMS * @license				http://www.phpcms.cn/license/ * @lastmodify			2010-6-7 */class application {		/**	 * 构造函数	 */	public function __construct() {		$param = pc_base::load_sys_class('param');		define('ROUTE_M', $param->route_m());		define('ROUTE_C', $param->route_c());		define('ROUTE_A', $param->route_a());		$this->init();	}		/**	 * 调用件事	 */	private function init() {		$controller = $this->load_controller();		if (method_exists($controller, ROUTE_A)) {			if (preg_match('/^[_]/i', ROUTE_A)) {				exit('You are visiting the action is to protect the private action');			} else {				call_user_func(array($controller, ROUTE_A));			}		} else {			exit('Action does not exist.');		}	}		/**	 * 加载控制器	 * @param string $filename	 * @param string $m	 * @return obj	 */	private function load_controller($filename = '', $m = '') {		if (empty($filename)) $filename = ROUTE_C;		if (empty($m)) $m = ROUTE_M;		$filepath = PC_PATH.'modules'.DIRECTORY_SEPARATOR.$m.DIRECTORY_SEPARATOR.$filename.'.php';		if (file_exists($filepath)) {			$classname = $filename;			include $filepath;			if ($mypath = pc_base::my_path($filepath)) {				$classname = 'MY_'.$filename;				include $mypath;			}			if(class_exists($classname)){				return new $classname;			}else{				exit('Controller does not exist.'); 			}		} else {			exit('Controller does not exist.');		}	}}
 |