在我的config.php中,我有所有常量,我将PATH设置为绝对路径。
但这意味着当我移动我的应用程序文件夹时,我必须更改此路径。
我想知道设置相对路径是否更好,每当我在生产和开发文件夹之间移动我的应用程序时,我都不必改变它。
当你在文件夹之间移动时,你们怎么做?
答案 0 :(得分:8)
我发现的最好方法是执行以下操作:
define("PATH", realpath(dirname(__FILE__)));
它为您提供当前文件的目录。如果您在settings / bootstrap / init文件中执行此操作,您将可以将其用于您的应用程序,它适用于任何文件系统。
答案 1 :(得分:3)
__FILE__
是你的朋友。
答案 2 :(得分:3)
define('BASE_PATH', dirname(realpath(__FILE__)));
这将使您的脚本更具可移植性。
包含这样的文件
include BASE_PATH . 'includes/header.php';
答案 3 :(得分:1)
答案 4 :(得分:1)
我做了三件事来解决这个问题:
第一种是使用相对于当前文件的路径并使用dirname(__FILE__).
包含内容
第二种是使用加载器包括所有页面加载。该文件有一个责任:通常通过相对调用来查找include目录。只要这种相对关系保持不变,就不需要改变。
我还想支持属于安装的自定义设置,而不是代码库。这是通过包含机制完成的,并覆盖了一些特定于代码所在服务器的设置。