Server : nginx/1.22.1
System : Linux iZwz9daxib3w3i063fw434Z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User : www ( 1000)
PHP Version : 5.6.40
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/www.jkmold.com/phpcms/libs/classes/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/www.jkmold.com/phpcms/libs/classes/application.class.php
<?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.');

		}

	}

}