%E0%B8%AA%E0%B8%9A%E0%B8%B9%E0%B9%88%E0%B8%AD%E0%B8%B2%E0%B9%80%E0%B8%8B%E0%B8%9B%E0%B9%82%E0%B8%8B%E0%B8%AA%E0%B8%B9%E0%B8%95%E0%B8%A3%E0%B9%84%E0%B8%AE%E0%B8%88%E0%B8%B4%E0%B8%99%E0%B8%B4%E0%B8%84类名称错误,请检查。

126.   * @param sdir 载入类定义文件的路径,可以是目录+文件名的方式,也可以单独是目录。sdir的值将传入import()进行载入
127.   * @param force_inst 是否强制重新实例化对象
128.   */
129.  function spClass($class_name$args null$sdir null$force_inst FALSE){
130.      // 检查类名称是否正确,以保证类定义文件载入的安全性
131.      if(preg_match('/[^a-z0-9\-_.]/i'$class_name))spError($class_name."类名称错误,请检查。");
132.      // 检查是否该类已经实例化,直接返回已实例对象,避免再次实例化
133.      if(TRUE != $force_inst)if(isset($GLOBALS['G_SP']["inst_class"][$class_name]))return $GLOBALS['G_SP']["inst_class"][$class_name];
134.      // 如果$sdir不能读取,则测试是否仅路径
135.      if(null != $sdir && !import($sdir) && !import($sdir.'/'.$class_name.'.php'))return FALSE;
136.      
9.  function spRun(){
10.      GLOBAL $__controller$__action;
11.      // 对路由进行自动执行相关操作
12.      spLaunch("router_prefilter");
13.      // 对将要访问的控制器类进行实例化
14.      $handle_controller spClass($__controllernull$GLOBALS['G_SP']["controller_path"].'/'.$__controller.".php");
15.      // 调用控制器出错将调用路由错误处理函数
16.      if(!is_object($handle_controller) || !method_exists($handle_controller$__action)){
17.          eval($GLOBALS['G_SP']["dispatcher_error"]);
18.          exit;
19.      }
22.  'suffix' => '.html'// 生成地址的结尾符
23.  ),
24.  );
25. 
26.  require(SP_PATH."/SpeedPHP.php");
27.  spRun();