Example #1
0
 /**
  * 初始化常用的全局常量
  *
  * 定义常用的全局常量:重写模式、路由分割符、伪静态网址的后缀、基本网址
  *
  * @access private
  *
  * @param string $filePath 配置文件的路径
  *
  * @return boolean
  */
 private static function _init($filePath = null)
 {
     //加载对配置文件管理的类文件
     self::loadFile(DOIT_ROOT . 'core/Configure.class.php');
     //加载路由网址分析的类文件
     self::loadFile(DOIT_ROOT . 'core/Router.class.php');
     //加载Controller基类
     self::loadFile(DOIT_ROOT . 'core/Controller.class.php');
     //加载并分析项目的主配置文件
     Configure::loadConfig($filePath);
     //定义是否开启调试模式。开启后,程序运行出现错误时,显示错误信息,便于程序调试。
     if (!defined('DOIT_DEBUG')) {
         define('DOIT_DEBUG', Configure::get('application.debug'));
     }
     //定义URL的Rewrite功能是否开启。如开启后,需WEB服务器软件如:apache或nginx等,要开启Rewrite功能。
     if (!defined('DOIT_REWRITE')) {
         define('DOIT_REWRITE', Configure::get('application.rewrite'));
     }
     //定义项目应用目录(application)的基本路径
     if (!defined('BASE_PATH')) {
         define('BASE_PATH', rtrim(Configure::get('application.basePath'), '/') . DIRECTORY_SEPARATOR);
     }
     //定义项目缓存目录(cache)的基本路径
     if (!defined('CACHE_PATH')) {
         define('CACHE_PATH', rtrim(Configure::get('application.cachePath'), '/') . DIRECTORY_SEPARATOR);
     }
     //定义项目入口文件的名称
     if (!defined('ENTRY_SCRIPT_NAME')) {
         define('ENTRY_SCRIPT_NAME', basename($_SERVER['SCRIPT_NAME']));
     }
     //定义网址路由的分割符。注:分割符不要与其它网址参数等数据相冲突
     if (!defined('URL_SEGEMENTATION')) {
         define('URL_SEGEMENTATION', Configure::get('application.urlSegmentation'));
     }
     //定义路由网址的伪静态网址的后缀。注:不要忘记了.(点)
     if (!defined('URL_SUFFIX')) {
         define('URL_SUFFIX', Configure::get('application.urlSuffix'));
     }
     //定义路由网址的格式。注:get/path
     if (!defined('URL_FORMAT')) {
         define('URL_FORMAT', Configure::get('application.urlFormat'));
     }
     //定义视图文件格式
     if (!defined('VIEW_EXT')) {
         define('VIEW_EXT', Configure::get('application.viewExt'));
     }
     //定义默认的Module名称。注:名称要全部使用小写字母
     if (!defined('DEFAULT_MODULE')) {
         define('DEFAULT_MODULE', Configure::get('application.defaultModule'));
     }
     //定义默认的Controller名称。注:为提高不同系统平台的兼容性,名称首字母要大写,其余小写
     if (!defined('DEFAULT_CONTROLLER')) {
         define('DEFAULT_CONTROLLER', Configure::get('application.defaultController'));
     }
     //定义默认的Action名称。注:名称要全部使用小写字母
     if (!defined('DEFAULT_ACTION')) {
         define('DEFAULT_ACTION', Configure::get('application.defaultAction'));
     }
     return true;
 }