【问题标题】:How to pass a variable into multiple functions如何将一个变量传递给多个函数
【发布时间】:2016-10-17 19:55:28
【问题描述】:

在下面的屏幕截图中,您可以看到我有一个运行例程的函数列表,相当深入的例程。

以前,我一直在多个类中重复此例程,但现在我想将这些多个类合并为一个类并仅执行一个函数,方法是将变量传递给该函数以确定要返回的输出。

我知道如何将变量传递给“一个”函数,但是如何将变量 ($this_id) 传递给下面的多个函数?基本上,无论 $this_id 来自 get_output($this_id);我希望将相同的变量值传递到其他 $this_id 函数中。看截图...

我在网上搜索,我看到的所有答案都显示了如何以非静态方式执行此操作,但我只熟悉静态调用事物,真的。我尝试了 obj 方式,但无法使其正常工作。

示例,执行...

$header = 'CustomTheme_output';
$header::get_output('header');

(请忽略任何丢失的代码,该代码是我迄今为止尝试过的多种方式。private $id 和 __construct 来自我一直在尝试的在线解决方案)强>

您能否告诉我如何正确实现这一目标?我会很高兴摆脱所有重复的代码、文件夹和文件! - 谢谢!

【问题讨论】:

  • 永远不要发布屏幕截图。复制粘贴代码,这样我们就不必输入了。
  • 我没有,因为我的代码比我在 SO 帖子中看到的任何代码都长。它将接近 1500 行代码。我觉得我抓住了我所说的精髓,并且需要实现另一个开发人员可以理解的内容,而无需阅读与我的真正目标/问题无关的代码。我做出了判断(我认为是合理的),不需要所有代码来告诉我如何回答这个问题,我认为我可以坚持这一点,因为如果我知道如何并且其他人发布了相同的内容,我可以轻松地回答它们。如果您认为我的问题应该措辞更好,请告诉我。
  • 也顺便过来看看。我不知道开发人员实际上是在输入代码。抱歉,我在第一次回复中错过了这一点。谢谢你提到它。会做。谢谢!

标签: php class oop variables


【解决方案1】:

要么直接将其传递给每个方法调用:

public function foo($this_id) {
     $this->bar($this_id);
}

或者您将其设为类属性,然后通过各种方法简单地访问它:

public function foo($this_id) {
    $this->id = $this_id;
    $this->bar();
}

public function bar() {
   do_something($this->id);
}

【讨论】:

  • 谢谢。所以这种非静态方式让我有点困惑,因为我是新手,我想。您能否提供一个包含我的屏幕截图中的功能的示例,以便我更好地理解?听起来你在说我的每个输出函数都应该运行 public function UniqueName_output($this_id) { $this->get_output($this_id) Then my code... } ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-18
  • 2014-04-02
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多