如何在没有硬编码路径的情况下参考控制器中的`../ data /`目录?

时间:2013-11-01 23:12:28

标签: php zend-framework2

假设你的Zend Framework 2应用程序需要在data/documents/中存储数据,你如何在没有硬编码路径的情况下引用控制器中的目录data/,并且可能没有使用相对路径?

我正在考虑在public/index.php中定义一个DATA_DIR常量,但我不确定,如果它是在所有控制器中对硬编码常量名称进行中继的最佳解决方案......

有没有办法通过global.conf.phpapplication.config或任何其他常见解决方案进行设置?

1 个答案:

答案 0 :(得分:1)

这个问题已经存在一个优雅的解决方案。

请参阅zf2 skeleton application's index.php on line 6

/**
 * This makes our life easier when dealing with paths. Everything is relative
 * to the application root now.
 */
chdir(dirname(__DIR__));

将此行添加到您应用的index.php后,您可以使用unlink('data/foo.txt')mkdir('data/bar')等文件系统方法,而无需担心路径。