php - 使用php获取父文件夹路径

标签 php model-view-controller oop include-path

我正在开发我的第一个 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/

相关文章:

java - 为什么这被认为是不安全的?

c# - 具有不同签名的 Controller 操作方法

model-view-controller - 什么是MVC,它有什么优点?

oop - 在编码之后还是之前创建UML图?

php - 有没有办法到处避免 $this-> ?

php - 在用户注册中添加了自定义字段,但该字段不会将信息推送到数据库

javascript - PHP - 验证单选按钮警报

javascript - 将显示模块模式代码转换为模块模式

php - 使用 PHP 和 MySQL 通过连接多个表来查询以获取多个数据

php - PHP foreach 循环中的 JQuery $.post