在PHP脚本中包含多个目录

在PHP脚本中包含多个目录,php,Php,如何在调用PHP脚本时包含多个路径 例如,我需要指向多个目录;在每个包含子目录等的目录中,但我也希望包含子目录中的所有php文件,以便我的主php脚本可以调用目录中定义的任何方法和对象 有什么想法吗 如果可能的话,我想调用一个函数来实现这一点,而不是指定根目录并遍历目录中的所有内容。您最好使用,注册一个回调函数,当PHP找不到您试图访问的类时,将调用该函数。然后,您可以编写一个函数,根据名称包含正确的文件。像PEAR这样的库往往通过用下划线分割类名来实现这一点,并且每个部分对应于其路径中的一个目

如何在调用PHP脚本时包含多个路径

例如,我需要指向多个目录;在每个包含子目录等的目录中,但我也希望包含子目录中的所有php文件,以便我的主php脚本可以调用目录中定义的任何方法和对象

有什么想法吗


如果可能的话,我想调用一个函数来实现这一点,而不是指定根目录并遍历目录中的所有内容。

您最好使用,注册一个回调函数,当PHP找不到您试图访问的类时,将调用该函数。然后,您可以编写一个函数,根据名称包含正确的文件。像PEAR这样的库往往通过用下划线分割类名来实现这一点,并且每个部分对应于其路径中的一个目录

我不认为有任何方法可以让PHP(在包含文件时)递归搜索包含路径,直到找到文件为止(除非您自己编写此逻辑-我想您可以围绕require()、include()等编写包装器,并调用它们,但我不会这样做)


您还可以递归地扫描目录,并在脚本启动时将每个目录添加到include路径,但我认为这会使包含后续文件的速度慢得多。

您最好使用注册回调,当PHP找不到您试图访问的类时,将调用该回调。然后,您可以编写一个函数,根据名称包含正确的文件。像PEAR这样的库往往通过用下划线分割类名来实现这一点,并且每个部分对应于其路径中的一个目录

我不认为有任何方法可以让PHP(在包含文件时)递归搜索包含路径,直到找到文件为止(除非您自己编写此逻辑-我想您可以围绕require()、include()等编写包装器,并调用它们,但我不会这样做)


您还可以递归地扫描目录,并在脚本启动时将每个目录添加到include路径,但我认为这会使包含后续文件的速度大大降低。

您需要用分号分隔多个目录

您需要用分号分隔多个目录

听起来您希望指定include\u路径中的每个目录,以便只需这样做

require_once("x.php"); // this is in ./foo/bar
require_once("y.php"); // this is in /docs/utils/
require_once("z.php"); // this is in /some/other/include/path
在这种情况下,不要。这种想法充满了失落感,对文档、调试和理智都不利

如果必须这样做,那么您必须编写一个函数,作为引导过程的一部分,手动递归地对include目录进行爬网,或者手动爬网


无论哪种方式,这听起来都不是一个好主意,也不是一个有原因的功能。

听起来您希望指定include\u路径中的每个目录,以便只需这样做

require_once("x.php"); // this is in ./foo/bar
require_once("y.php"); // this is in /docs/utils/
require_once("z.php"); // this is in /some/other/include/path
在这种情况下,不要。这种想法充满了失落感,对文档、调试和理智都不利

如果必须这样做,那么您必须编写一个函数,作为引导过程的一部分,手动递归地对include目录进行爬网,或者手动爬网


无论哪种方式,这听起来都是一个坏主意,也不是一个有原因的功能。

请参阅包含路径文档下的讨论,其中显示了多个示例。请参阅包含路径文档下的讨论,其中显示了多个示例。请使用路径分隔符常量而不是分号。只有windows使用分号分隔路径。请使用路径分隔符常量而不是分号。只有windows使用分号分隔路径。