在ecmall电子商务系统中,我们可以看到index.php中有个代码startup();他传递的参数是一个函数,函数中的参数是以下意思. 1:default_app代表默认的控制器 2:default_act代表action 3:app_root控制器根目录 4:external_libs包括一些扩展的函数. ECMall是/eccore/ecmall.php目录下的一个类,负责调用所有操作的控制器和动作action. startup()函数中,有以下代码. $default_app = $config['default_app'] ? $config['default_app'] : 'default'; $default_act = $config['default_act'] ? $config['default_act'] : 'index'; $app = isset($_REQUEST['app']) ? trim($_REQUEST['app']) : $default_app; $act = isset($_REQUEST['act']) ? trim($_REQUEST['act']) : $default_act; $app_file = $config['app_root'] . "/{$app}.app.php"; if (!is_file($app_file)) { exit('Missing controller'); } require($app_file); define('APP', $app); define('ACT', $act); $app_class_name = ucfirst($app) . 'App'; /* 实例化控制器 */ $app = new $app_class_name(); c($app); $app->do_action($act); //转发至对应的Action $app->destruct(); 通过获取控制器,对控制器进行实例化. |
说明:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
|