|
prestashop代碼分析之config.inc.php 2009-12-23 16:47:23
分類: 第一步先打開index.php,可以看到引入了3個文件:config/config.inc.php,header.php,footer.php。 @ini_set('display_errors', 'off'); @ini_set('upload_max_filesize', '100M'); @ini_set('default_charset', 'utf-8'); //這些部分修改了php.ini里的一些默認設置 header('Content-Type: text/html; charset=utf-8'); //強調是utf8的編碼 function __autoload($className) { if (!class_exists($className, false)) require_once(dirname(__FILE__).'/../classes/'.$className.'.php'); } //很神奇的自動載入函數,不知道的童鞋看看手冊,其實很簡單 if (!file_exists(dirname(__FILE__).'/settings.inc.php')) { $dir = ((is_dir($_SERVER['REQUEST_URI']) OR substr($_SERVER['REQUEST_URI'], -1) == '/') ? $_SERVER['REQUEST_URI'] : dirname($_SERVER['REQUEST_URI']).'/'); if(!file_exists(dirname(__FILE__).'/../install')) die('Error: \'install\' directory is missing'); Tools::redirect('install', $dir); } include(dirname(__FILE__).'/settings.inc.php'); //如果沒有settings.inc.php,就開始安裝進程 if (!isset($_SERVER['REQUEST_URI']) OR empty($_SERVER['REQUEST_URI'])) { $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; if (isset($_SERVER['QUERY_STRING']) AND !empty($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']; } //有些web服務器會沒有這個REQUEST_URI,所以要處理一下 $currentDir = dirname(__FILE__);//這個目錄,是config目錄,因為__FILE__是當前文件 這下面就是定義常量的了。有些童鞋要問了,為什么不定義成變量呢?一是這些內容不需要改動,二是在smarty中,可以使用$smarty.const.xxx來直接調用常量。 Configuration::loadConfiguration();//prestashop把所有的配置都存在一個表里面 Language::loadLanguages();//載入語言 Tax::loadTaxZones();//稅,國內就很少有這樣的設置 $defaultCountry = new Country(intval(Configuration::get('PS_COUNTRY_DEFAULT')));//讀取地區(qū)id,設置 $timezone = Tools::getTimezones(Configuration::get('PS_TIMEZONE'));//設定時區(qū) if (function_exists('date_default_timezone_set')) date_default_timezone_set($timezone);//如果是php5,有date_default_timezone_set函數,則設定時區(qū) |
|
|
來自: sumi2005 > 《prestashop》