Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php set_include_path()有人能帮我澄清一下吗_Php_Jquery_Autoload_Set Include Path - Fatal编程技术网

Php set_include_path()有人能帮我澄清一下吗

Php set_include_path()有人能帮我澄清一下吗,php,jquery,autoload,set-include-path,Php,Jquery,Autoload,Set Include Path,关于这个问题,我已经浏览了这个网站,但我仍然感到困惑。我已经解决了我的问题,但我知道在内心深处,我有点作弊,这是一个修复,可能会导致我的问题进一步线。让我解释一下我在哪里: 下面是一个目录结构文件夹,如>>[文件夹名称]: /site root [ajax-loads] showorder.php [bcls] << For bespoke classes class.order.php [cls] << For classes class.main

关于这个问题,我已经浏览了这个网站,但我仍然感到困惑。我已经解决了我的问题,但我知道在内心深处,我有点作弊,这是一个修复,可能会导致我的问题进一步线。让我解释一下我在哪里:

下面是一个目录结构文件夹,如>>[文件夹名称]:

/site root
[ajax-loads]
   showorder.php

[bcls] << For bespoke classes
   class.order.php

[cls] << For classes
   class.main.php
   class.db.php
   class.sql.php
   ...
   ...

dashboard.php
index.php
config.php

...
.. etc etc
在文件的前面部分,我的config.php文件也有相同的问题,我已经修复了这个问题:

set_include_path("./");
set_include_path("../");
现在让我指出,这是我决定摆脱程序编码的第一个大项目,这是我第一次真正体验自动加载。我真的需要更好地理解这一点,而不是做一个复制粘贴编码器;我觉得在这里我的理解有了差距。除了正在更正的代码外,请有人解释一下正确的代码在做什么,因为我已经尝试了一些“解决方案”,但在模仿其他人的例子后,我仍然得到奇怪的结果

爱与吻
Andy

如果您真的想修改包含路径,那么您应该像这样使用它:

define('BASE_PATH', $_SERVER['DOCUMENT_ROOT']);

// ...

set_include_path(
    BASE_PATH . '/bcls' .
    PATH_SEPARATOR . BASE_PATH . '/cls' .
    PATH_SEPARATOR . get_include_path() .
    PATH_SEPARATOR . '.'
);
不过,我建议您重命名文件夹。强烈反对缩写变量、类、函数、文件夹等。您是否考虑过使用某种PHP框架?这样做可能有助于你的努力,并且你可以避免重新发明轮子


如果你想要轻量化,那么考虑使用Kohana或CooDigiTor。否则我推荐Zend框架

这更像是一件学习的事情,我以前玩过CodeIgniter,但我想进入一个阶段,在理论上我可以构建自己的框架,以便更好地理解。我真的不明白你在那里发布了什么,我仍然在根目录下调用配置文件时遇到问题,消息是:Warning:require_onceconfig.php[function.require once]:无法打开流:第14行的G:\www\MiX\cls\class.main.php中没有这样的文件或目录致命错误:require\u once[function.require]:无法打开所需的“config.php”include\u path='G:/www/G:/www//bcls;G:/www//cls;。;C:\php5\pear;'在第14行的G:\www\MiX\cls\class.main.php中,我试图移动一些东西,所以我调用config.php,然后一切都从那里发生。我认为从根目录下的文件初始化东西可能更好,但我仍然遇到同样的问题;ajax加载不会查找相对于root的文件,而是相对于ajax加载文件夹,即使require_once命令位于config.php文件中,该文件位于root中,适用于所有其他情况
define('BASE_PATH', $_SERVER['DOCUMENT_ROOT']);

// ...

set_include_path(
    BASE_PATH . '/bcls' .
    PATH_SEPARATOR . BASE_PATH . '/cls' .
    PATH_SEPARATOR . get_include_path() .
    PATH_SEPARATOR . '.'
);