【问题标题】:how to call a function of another file without including that file如何在不包含该文件的情况下调用另一个文件的函数
【发布时间】:2013-08-13 17:05:03
【问题描述】:

我在两个不同的文件 A.php 和 B.php 中有一个类假设 A 和另一个类 B。

如何在 B.php 文件中调用 A 类的函数而不在 B.php 中包含 A.php 文件。

我们可以使用静态函数调用吗?

我见过一个应用程序,其中它们不包括文件也不扩展,而是使用另一个文件类函数。

我们可以使用静态属性,我试过但没有任何想法。

他们也没有使用自动加载功能

https://docs.google.com/a/artifex-online.com/file/d/0B6ta7daai0cYeEs0TEJ4OGRacVU/edit?usp=sharing

请查看这些文件。

查看用户类中使用的数据库类。

【问题讨论】:

  • 你为什么不使用 include() ?有什么具体原因吗?
  • 请描述原因,以便任何人都能理解您的问题。
  • 我已经更新了更详细的问题

标签: php


【解决方案1】:

你不能。您可能会收到函数未定义错误。

可以做的以及大多数现代框架所做的就是使用自动加载。但是你需要为此使用类。

在 php.net 上:http://php.net/autoload

和往常一样,不要过多看 php.net 上的代码示例,它们很糟糕。


auto_prepend_file 是另一种可能性。我不建议使用它。

【讨论】:

  • 他们没有使用自动加载功能
  • 也许他们正在使用auto_prepend_filephp.net/manual/en/ini.core.php#ini.auto-prepend-file 。不过这是服务器配置,充其量是.htaccess
  • 不,我已经下载了代码并在我的服务器上运行,没有任何 php.ini 配置,它运行正常
  • .htaccess 文件呢?不看代码有点难猜,有机会发一下吗?
  • 查看我共享的文件
【解决方案2】:

这是不可能的。当您参考上面提到的方式时,即使是最流行的 IDE 也会向您显示错误..

您需要使用include() / include_once()require_once() 等功能。

在 PHP 5+ 中,你有一个名为 autoload() 的函数,它的作用与上述指定的函数相同,但它的特点是你不需要在每个函数中都指定 include() 或 require()您要访问包含文件的文件。

【讨论】:

  • 请查看我分享的文件。
猜你喜欢
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 2021-02-28
相关资源
最近更新 更多