【问题标题】:How to include() functions into a class in PHP [duplicate]如何将()函数包含到PHP中的类中[重复]
【发布时间】:2011-05-01 22:13:17
【问题描述】:

可能重复:
Can I include code into a PHP class?

你好,

我有一些第三方 php 文件,我想将它们作为类包含在我的应用程序中。问题是这些文件不断变化,它们不是 OOP,只是一堆函数。为了让它们保持更新并在我的框架中工作,我必须在一个类中使用它们,所以我想包含该文件并通过 -> 运算符访问它:

例子:

class Vendor {
    include("../vendor/functions.php");
}

然后:

$vendor = new Vendor();
$vendor->foorbar();

有什么想法吗?

【问题讨论】:

  • 这不是重复的......那个问题是关于在课堂上包含文件。这是关于在类上导入函数的。这个答案绝对不回答这个!
  • 无论如何,别介意......我想出了如何在 PHP 上使用 call_user_func_array() 来做到这一点。我只是为被欺负和问题结束而感到抱歉,而没有人试图弄清楚这是具有相似想法的不同问题!

标签: php class include


【解决方案1】:

我认为最好的方法是修改(自动)要包含的功能文件

namespace VendorName;

这样全局命名空间不会被污染,但您可以访问这些函数。由以下人员执行呼叫:

VendorName\FunctionName($arguments);

【讨论】:

  • 好吧,我不能以任何形式修改供应商文件。问题是按原样使用它们
【解决方案2】:

我认为这些第三方文件不会以任何自动化方式注入到您的应用程序中,您只想轻松地在框架中使用它们,同时能够升级到较新的版本。在这种情况下,我建议你使用 Subversion 所称的“vendor branches”。这只是一个概念,无论您的源代码控制工具是什么,您都可以使用它。总结一下:

  • 您下载第三方代码并将其存储到您的代码存储库中。
  • 您将代码复制到您的应用中,并根据您的需要对其进行修改。
  • 当供应商发布新版本时,您更新存储的代码。
  • 您使用版本控制软件将更改复制到您的应用中。

【讨论】:

  • 事实上,重点在于拥有这个功能,拥有“功能文件”,并且我的应用程序能够使用它们。新功能文件的零维护...
猜你喜欢
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 2020-04-18
  • 2013-11-16
  • 2015-03-19
  • 2022-11-21
  • 2013-12-04
相关资源
最近更新 更多