./x.php与x.php的区别?

Discuz的代码规范中写到:

包含和调用代码中,须以“./”或DISCUZ_ROOT.’./’开头,应避免直接写程序文件名(例如:require_once
‘x.php’;)的做法;

http://www.cnblogs.com/janas/...

我想知道./x.php与x.php有什么区别?为什么前者的写法比较好?

阅读 2.8k
2 个回答

require或include性能方面考虑性能从高到低的顺序应该是

包含指定的绝对路径文件(/a/b/1.php) -》包含指定相对路径文件(./1.php) -》直接包含文件(1.php)

原因:直接包含绝对路径只有1个逻辑执行完就结束了,如果包含相对路径要走查找文件的逻辑,如果直接包含文件,会读取php.ini的配置变量include_path中的路径

推荐http://www.laruence.com/2010/...

话说现在很少用include了吧

linux系统中, .表示的是当前目录的意思, require_once './library.php';表示加载当前目录的library.php文件, 而require_once 'library.php';不但会在当前目录找, 还会在 include_path里面找.

很明显, 前者的加载速度会优于后者, 换句话说, 绝对路径的加载速度是优于相对路径的. 绝对路径的另一个好处是, 移动调用脚本的位置无需更改代码.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题