我正在尝试定义站点根目录以轻松自动加载我的php类。我是相当新的并且有很多悲伤,因为我实际上必须更改includes或require_once路径,因为相应的页面位于不同的文件夹中。
我找到了一个教程并应用了我所学到的知识,但它无法正常工作。
以下是我使用的内容:
defined ('DS') ? null : define ('DS', DIRECTORY_SEPARATOR);
defined('SITE_ROOT') ? null :
define('SITE_ROOT', DS. 'C:'. DS. 'xampp' .DS. 'htdocs' .DS. 'database');
defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT. DS .'includes');
spl_autoload_register(function($class){
require_once (LIB_PATH.DS . $class . '.php');
});
require_once (LIB_PATH.DS .'functions.php');
有关如何正确定义root以限制更改文件路径的次数的任何建议吗?
答案 0 :(得分:0)
我定义我的doc_root似乎对我有用的方法是在变量中使用完整的绝对路径。
我在名为config.inc.php
的文件夹中创建了一个includes/config
文件,其中包含一些此类内容。
define("DOC_ROOT","/home/sitename/public_html");
define("MODULES", DOC_ROOT."/modules");
您可以将文件放在任何地方。由于我的网站编码方式,我只需在我的index.php
中包含配置文件,因为通过该文件调用页面。
include_once("includes/config/config.inc.php");
但是,您可以将其包含在脚本顶部或头文件等中。
然后,当我需要使用文件时,我可以使用require_once(DOC_ROOT."/somefolder/file.php");
或类似
require_once(MODULES."/file.php");
require_once(MODULES."/someotherfile.php");
无论目录在哪里都可以工作。并且不应该真正改变路径。