0

如果不使用 include_once 或任何包含/要求,我如何引用当前目录中其他 php 文件中声明的函数?就像我们使用 fopen 一样。

包含包含不在函数中的代码的 php 文件的内容可能会很混乱。如果函数使用自动链接到它的定义会更好。

我还检查了如何包含()目录中的所有 PHP 文件?这需要一些代码来完成。

我无法在互联网上的任何地方找到这个问题的答案可能是因为这个问题的搜索词太常见了。

4

3 回答 3

3

最合乎逻辑的方法是使用 OOP 和自动加载

这样你只会加载你实际使用的类。

否则,您链接到的问题的公认答案就是要走的路。

于 2012-09-27T17:07:32.997 回答
1

您可以使用 glob 遍历目录,然后包含它们:

$phpfiles = glob('mydir/*.php');
foreach($phpfiles as $file)
  do_something_with_the_file($file) // why not include_once $file ?

当您在其他文件中引用函数时,您不能使用自动加载器,因为自动加载器在类上运行。自动加载类将是一个更好的解决方案。

于 2012-09-27T17:05:55.067 回答
0

如果您热衷于使用类和 OO vs Procedural,这将包含一个与被调用的类同名的文件,并且不会在目录中包含不需要的类文件。

从站点/应用程序的根目录调用。

define( "APP_PATH", dirname( __FILE__ ) ."/" );

function my_autoloader($class)
{
    include 'core/classes/' . $class . '.class.php';
}
spl_autoload_register('my_autoloader');

假设您将所有类保存在类似的目录结构中:

站点/核心/课程

你明白了。

于 2012-09-27T17:07:31.933 回答