PHP - 从另一个文件调用函数而不包括它

时间:2013-11-19 22:55:42

标签: php function

我希望能够从任何地方调用函数。所以我可以这样写:file.php:foo();.有可能吗?

6 个答案:

答案 0 :(得分:3)

这可能不适合您,但可能会。您可以将函数包装到命名空间类中。

您可以添加一个名为file的类foo作为静态函数。因此,您不必致电foo(),而是致电file::foo()。然后,您将__autoload这些命名空间类。要做到这一点,你必须在某处定义自动加载功能,例如:

function __autoload($class_name) {
    include $class_name . '.php';
}

然后你的file.php看起来像:

class file {
   public static function foo() {
      //do stuff
   }
}

答案 1 :(得分:2)

您应该包含定义您要使用的功能的文件:

include file.php;

然后您通常可以调用您的函数:

foo();

注意:您还可以使用requirerequire_onceinclude_once

如果您正在使用课程,可以尝试autoloading them

答案 2 :(得分:1)

如果不包含该功能,则无法在其他文件中使用该功能。

如果这是一个不想包含大量文件的问题,你可以将你的功能合并到一个文件(即.function.php)中,然后在需要时只包含那个文件。

答案 3 :(得分:0)

您必须将include file.php添加到您要访问的每个文件foo()

要防止来自不同位置的同一文件的多个包含,请使用include_once语句。然后file.php只会包含一次。

http://php.net/manual/en/function.include-once.php

答案 4 :(得分:0)

你不能这样做是因为你需要带有include或get_contents的调用文件以及eval之后。

如果您需要类似的东西,可以使用命名空间。

<强>参考

http://php.net/manual/pt_BR/language.namespaces.definition.php

答案 5 :(得分:0)

如果没有PHP编写的语言的广泛知识..哪个是C,你就不能这样做。

如果您有工作知识,请获取PHP的源代码并编译您自己的方法/函数...否则您将必须包含您的文件。