【发布时间】:2015-11-06 17:22:11
【问题描述】:
我正在学习使用所需文件创建实例化文件的教程。这是项目树:
这是我的instantiate.php:
defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR);
defined('SITE_ROOT') ? null : define('SITE_ROOT', DS.'var'.DS.'www'.DS.'html'.DS.'photo_gallery');
defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes');
//load config file first
require_once(LIB_PATH.DS."config.php");
//load basic functions next so that everything after can use them
require_once(LIB_PATH.DS."functions.php");
//load core objects
require_once(LIB_PATH.DS."session.php");
require_once(LIB_PATH.DS."database.php");
//load database-related classes
require_once(LIB_PATH.DS."user.php");
在login.php,我要求初始化文件为:
require_once("../../includes/initialize.php");
但是按照教程,我可以在文件中使用LIB_PATH,例如需要config.php 的database.php 和需要database.php 的user.php。
目前,它们需要文件,没有路径,因为它们位于同一个包含文件中。但是,如果我完全理解了目录分隔符、站点根目录和 lib_path 的工作方式,那是为了改进它,不需要在任何地方添加不同的路径,只需通过常量添加路径即可。好吧,它不起作用!它显示:(在顶部,您会在公共文件夹的 index.php 中看到 dirname(__FILE__) 的回声。
我检查了phpinfo 以查看根路径...一切似乎都很好,但如果我尝试使用此LIB_PATH.DS 则无法正常工作。
我读到的最后一件事是 ibay 的一些限制,但我试图做更多的研究,但我什至找不到这个“ibay”是什么。
有谁知道为什么会这样?谢谢!
【问题讨论】:
-
你说那里的代码是
instantiate.php,但貌似真名是initialize.php,是你搞错了,还是有别的文件?
标签: php oop initialization constants