ge'].'/phpcms.lang.php'; /** 顾名思义: 这个就是加载语言包了。PHP的国际化目前做得最多的。就是直接用PHP文件来实现。 在 phpcms.lang.php 文件里面定义程序中要用到的中文信息。然后在程序一开始就加载。那里程序里面 就可以使用这个文件里面的变量和一切。那么就简单了。模板上就不需要直接写中文信息了。直接用这个 文件里面定义的变量等来替换。从而实现国际化。over!!!最好自己打开这个语言文件再加上自己思考下。 就知道。原来如此简单。 */ define('PHPCMS_PATH', $CONFIG['rootpath']); define('PHPCMS_CACHEDIR', $CONFIG['cachedir']); /** $CONFIG['rootpath'] 这个就是全局配置文件 这里把他们定义为 常量。 config.inc.php 文件里面数据库信息。等全部配置信息。在 $CONFIG['rootpath'] 其实也
为什么需要定义为常量呢。因为作者感觉这样写爽罗。呵呵。其实因为后面
用到这两个变量多。所以干脆定义为常量。方便使用。再多说一个技巧: 可以写成
$CONFIG[rootpath] 但是最好不要这样。为什么呢。因为PHP引擎会先判断 rootpath 是不 $CONFIG[rootpath] 是数组。 '' 这样性能上就差了一点点了。 再多 单引号呢而不用 "" 双引号呢。因为这样效率好, "" 双引号。
是常量。如果不是才会认定 说一个技巧:
为什么程序多数都用
php 引擎还会先检查里面是否有变量,如果有就解释。而 '' 单引号不会做这一步的检查。而直接就当成字 符窜了。所以效率上也会有一点点影响哦。
*/ $CONFIG['enablephplog'] ? set_error_handler('phpcms_error') : error_reporting(E_ERROR | E_WARNING | E_PARSE); /** $CONFIG['enablephplog'] 是否开启错误日志设置。这个设置在全局配置文件里面.config.inc.php 。 里使用了 三目运算符 偶最喜欢用了。一些简短的逻辑判断。可以使用 ?: ; 这
来实现比较简洁
set_error_handler() 这个函数就大有来头了。 php4 里面的典型自定义程序出错后行为的一个函数。 十分好 用。怎么用呢? set_error_handler(函数) phpcms_error 函数存在 的参数也是一个函数。这个函数。反映了程序出错后行为的。 global.func.php 全局函数里面。
function phpcms_error($errno, $errmsg, $filename, $linenum, $vars) { $filename = str_replace(PHPCMS_ROOT, '.', $filename); $filename = str_replace("\\", '/', $filename); // if(!defined('E_STRICT')) define('E_STRICT', 2048); $dt = date('Y-m-d H:i:s'); $errortype = array ( E_ERROR E_WARNING E_PARSE E_NOTICE E_CORE_ERROR E_CORE_WARNING E_COMPILE_ERROR E_USER_ERROR E_USER_WARNING E_USER_NOTICE E_STRICT ); $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); $err = "
\n"; $err .= "\t" . $dt . "\n"; $err .= "\t" . $errno . "\n"; $err .= "\t" . $errortype[$errno] . "\n"; $err .= "\t" . $errmsg . "\n"; $err .= "\t" . $filename . "\n"; $err .= "\t" . $linenum . "\n"; if (in_array($errno, $user_errors)) { $err .= "\t" . wddx_serialize_value($vars, "Variables") . "\n"; } $err .= "\n\n"; echo $err; => 'Error', => 'Warning', => 'Parsing Error', => 'Notice', => 'Core Error', => 'Core Warning', => 'Compile Er