/** * import models of other module * * usage: * import('user/User_Model'); // just import User_Model class * import('user/*'); * import('user/'); * import('user'); * @param string $model_name * @param string $dir_prefix, dir prefix, no the trailing slash, default equal to SimPHP::$gConfig['modroot'] * @return mixed(boolean or object) */ function import($model_name, $dir_prefix = '') { if ('' == $model_name) { return FALSE; } // find class name and dir prefix $modroot = SimPHP::$gConfig['modroot']; if ('' != $dir_prefix) { $modroot = rtrim($dir_prefix, '/'); } $moddir = SIMPHP_ROOT . DS . $modroot; $clsname = ''; $tarr = explode('/', $model_name); $tarr[0] = strtolower($tarr[0]); //make sure dir is lower if (count($tarr) > 1) { $clsname = array_pop($tarr); //the last one is the checking one $moddir .= DS . implode(DS, $tarr); } else { //When import like Model::import('user');,equal to Model::import('user/*'); $clsname = ''; $moddir .= DS . $tarr[0]; } if (!is_dir($moddir)) { return FALSE; } $is_import_dir = '*' == $clsname || '' == $clsname ? TRUE : FALSE; // Only import a class if (!$is_import_dir) { if (SimPHP::isClassLoaded($clsname)) { return TRUE; } $class_file = $moddir . '/' . $clsname . '.php'; if (file_exists($class_file)) { include $class_file; } return SimPHP::isClassLoaded($clsname); } // Set class auto load SimPHP::registerAutoload(function ($className) use($moddir) { if (SimPHP::isClassLoaded($className)) { return TRUE; } $class_file = $moddir . '/' . $className . '.php'; if (file_exists($class_file)) { include $class_file; } return SimPHP::isClassLoaded($className); }); return TRUE; }
*/ define('RC_ALL', 2047); /** * require constant configure */ require SIMPHP_ROOT . '/conf/const.php'; /** * require global needed function files */ require SIMPHP_CORE . '/func.simphp.php'; require SIMPHP_CORE . '/func.global.php'; require SIMPHP_INCS . '/func.common.php'; /** * set core class autoload */ SimPHP::registerAutoload(); /** * Log dir * @var string constant */ define('LOG_DIR', SIMPHP_ROOT . Config::get('env.log_dir', '/var/log')); /** * Whether on production env * @var string constant */ define('ON_PRO', Config::get('env.env') == 'pro' ? TRUE : FALSE); /** * 系统启动类 * */ class SimPHP