如何在不包含include的情况下调用其他文件中的函数?

时间:2012-09-27 17:02:05

标签: php

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

包含不包含在函数中的代码的php文件的内容可能是混乱的。如果函数用法自动链接到它的定义,那就更好了。

我还检查了How to include() all PHP files from a directory?,这需要一些代码才能完成。

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

3 个答案:

答案 0 :(得分:3)

最合乎逻辑的方法是使用OOP和autoloading

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

否则,您所关联的问题所接受的答案是可行的方法。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

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

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

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

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

站点/型芯/类

你明白了。