这可能很难解释,但我正在寻找拥有一个或一组配置文件的最佳方法,所以如果我需要更新一些它更容易做的事情。 我已经编写了一个PHP应用程序,它有一个子文件夹,用于管理员根目录下的文件夹,并包含文件夹,也就是根文件夹下的子文件夹。(见下文)
include文件夹包含数据库配置文件,加载公共变量等等。问题是调用数据库连接的管理文件的路径明显不同于根文件夹中的文件。 所以我开始这个,但现在我想知道是否有比我要走的路线更好的方法。
`if($adminfile=="yes")
{
require('../includes/database/connect.db.php');
}
else{
require('includes/database/connect.db.php');
}`
我真的很感激一些建议,如果我废弃这个想法并且配置文件有2个位置?部分我不喜欢在所有标准代码中包含$ adminfile =“no”我一直认为有更好的方法。
其他人如何解决这个问题?
答案 0 :(得分:0)
您可以在每个文件中定义一个常量...定义您拥有的根文件夹
define('root', 'demo/');
并做
require(root.'includes/database/connect.db.php');
这适用于您想要的任何文件
答案 1 :(得分:0)
检查php.ini中include_path
的值或您的本地配置(通过.htaccess
获取apache是另一种方法。如果您将demo
的路径添加到include_path
设置,然后:
include('includes/database/connect.db.php');
或
require_once('includes/database/connect.db.php');
可以在任何文件或子文件夹中使用。
另一种方法是在脚本中包含一个包含所有设置(即不仅仅是数据库设置)的引导程序文件。
更好的方法是通过前端控制器路由所有请求,前端控制器会在每次请求时进行任何设置/拆卸。见PHP Front Controllers