我正在开发我的第一个 MVC 框架,想为 BASE_PATH、APP_PATH、LIB_PATH 和 PUBLIC_PATH 定义 4 个常量。我的文件结构如下所示:
/
/app
/controllers
/models
/views
/config
/db
/lib
/public_html
/css
/js
/img
我的 index.php 文件位于 public_html 目录中。目前有以下代码:
error_reporting(E_ALL);
define('BASE_PATH',dirname(realpath(__FILE__)) . "/../");
define('APP_PATH',dirname(realpath(__FILE__)) . "/../app/");
define('LIB_PATH',dirname(realpath(__FILE__)) . "/../lib/");
define('PUBLIC_PATH',dirname(realpath(__FILE__)) . "/");
require LIB_PATH . 'core.php';
这行得通,但我觉得必须有更好的方法来做到这一点而无需所有“..”。有什么建议或者这是最好的方法吗?让我知道。谢谢!
回答
感谢@fireeyedboy 和@KingCrunch,我已经找到了我一直在寻找的解决方案。这是我的最终代码:
define('PUBLIC_PATH', dirname(__FILE__) . "/");
define('BASE_PATH', dirname(PUBLIC_PATH) . "/");
define('APP_PATH', BASE_PATH . "app/");
define('LIB_PATH', BASE_PATH . "lib/");
最佳答案
这个怎么样:
define('PUBLIC_PATH',dirname(realpath(__FILE__)) . "/");
define('BASE_PATH',dirname(PUBLIC_PATH));
define('APP_PATH',BASE_PATH . "/app/");
define('LIB_PATH',BASE_PATH . "/lib/");
换句话说,再次使用dirname()
。并重新定义常量以直接使用它们。不确定它是否有助于提高可读性。
关于php - 使用php获取父文件夹路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5582751/