[php]
require APP_ROOT_PATH.FOLDER_NAME.’/Lib/’.APP_TYPE.’/core/MainBaseModule.class.php’;
require APP_ROOT_PATH.FOLDER_NAME.’/Lib/’.APP_TYPE.’/core/main_init.php’;
require APP_ROOT_PATH.FOLDER_NAME.’/Lib/page.php’;
define("CTL",’ctl’);
define("ACT",’act’);
class MainApp{
private $module_obj;
//网站项目构造
public function __construct(){
if($GLOBALS[‘pay_req’][CTL])
$_REQUEST[CTL] = $GLOBALS[‘pay_req’][CTL];
if($GLOBALS[‘pay_req’][ACT])
$_REQUEST[ACT] = $GLOBALS[‘pay_req’][ACT];
$module = strtolower($_REQUEST[CTL]?$_REQUEST[CTL]:"index");
$action = strtolower($_REQUEST[ACT]?$_REQUEST[ACT]:"index");
$module=MODULE_PREFIX.$module;
$module = filter_ctl_act_req($module);
$action = filter_ctl_act_req($action);
/*判断文件是否存在*/
if(!file_exists(APP_ROOT_PATH.FOLDER_NAME."/Lib/".APP_TYPE."/".$module."Module.class.php"))
$module = "index";
require_once APP_ROOT_PATH.FOLDER_NAME."/Lib/".APP_TYPE."/".$module."Module.class.php";
/*判断类是否存在*/
if(!class_exists($module."Module"))
{
$module = "index";
require_once APP_ROOT_PATH.FOLDER_NAME."/Lib/".APP_TYPE."/".$module."Module.class.php";
}
/*判断方法是否存在*/
if(!method_exists($module."Module",$action))
$action = "index";
define("MODULE_NAME",$module);
define("ACTION_NAME",$action);
$module_name = $module."Module";
$this->module_obj = new $module_name;
$this->module_obj->$action();
}
public function __destruct()
{
unset($this);
}
}
?>
[/php]
说明
布尔 method_exists (对象 $对象 ,字符串 $ METHOD_NAME )
如果METHOD_NAME 所指的方法在对象 所指的对象类中已定义,则返回TRUE,否则返回FALSE。
【举例】#1 method_exists()例子
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
?>