贴心的PHP:内置常量

用各语言做网站的同学,经常遇到的一个问题就是在不同操作系统下路径格式不同。有的必须用“\”,有的必须用“\\”,用的得用“/”之类的。如果我们的开发机和生产环境不是同一种操作系统,总是会遇到麻烦。

但PHP居然贴心的准备了两个内置常量,DIRECTORY_SEPARATOR与PATH_SEPARATOR。

用法很简单。

<?php
$path = join(DIRECTORY_SEPARATOR, array('root', 'lib', 'file.php');
?>

或者

<?php
require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';
?>

之后PHP会自动的根据运行的系统将DIRECTORY_SEPARATOR替换成适当的符号。

但是有的同学说了,如果每次都要敲出这么长的一个常量好烦啊。那么我们可以这么做。Best Practice from CAKEPHP。

<?php
/**
 * Use the DS to separate the directories in other defines
 */
if (!defined('DS')) {
    define('DS', DIRECTORY_SEPARATOR);
}
?>

然后在地方就可以这样写了。

<?php
require 'webroot' . DS . 'index.php';
?>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据