- app: metinfo6.0
0x01 目录
metinfo 目录有点乱, 仔细一看,每一个模块都是加载常量然后包含入口文件../app/system/entrance.php

主要业务功能是在app下,入口在entrance.php,看逻辑流: entrance 加载了一堆配置之后开始加载类:app/system/include/class/load.class.php,这个类会把内容加载到pricate static $own_include_dir=''
回到load::module();静态调用这个方法,没有传参
<?php/*** 加载模块* @param string $funcname 需要引用模块路径* @param string $classname 模块名称,一般不需要加.class.php* @param string $action 同_load_class的$action参数* @return 同_load_class*/public static function module($path = '', $modulename = '', $action = '') {if (!$path){if (!$path) $path = PATH_OWN_FILE;if (!$modulename) $modulename = M_CLASS;if (!$action) $action = M_ACTION;if (!$action) $action = 'doindex';}return self::_load_class($path, $modulename, $action);}
这里通过的是entrance中的这里传的参数。
<?phpif (!defined('M_MODULE')) {$ia = $_GET['a'] ? $_GET['a'] : $_POST['a'];$ic = $_GET['c'] ? $_GET['c'] : $_POST['c'];define ('M_MODULE', 'include');define ('M_CLASS', $ic);define ('M_ACTION', $ia);
然后_load_class,传入三个参数,分别是$path模块对应路径, $classname模块类名,$action方法。
这里是实例化的位置。
