【问题标题】:Difference between $this->return and return$this->return 和 return 的区别
【发布时间】:2013-06-02 03:38:02
【问题描述】:

我最近在 Joomla 组件(更准确地说是 Kunena)中遇到了这段代码,那么使用 $this->return 与简单的 return 语句有什么区别。

我已经用谷歌搜索了代码,但没有明显的结果并检查了here & here

我对使用$this 而不是简单的return 使用return 语句感到困惑。让我知道它是否真的很简单,或者我错过了一个幼稚的概念,那么我肯定会抛弃这个问题。

签入代码-http://pastebin.com/vvhuPhbZ

【问题讨论】:

  • 介意发布一个例子吗?我们无法猜测我们没见过的代码......
  • 我认为$this->return 甚至不是一个有效的语句......除非该类具有成员变量$return,也就是说,在这种情况下,该语句只是引用该变量。
  • @aaaaaa123456789 确定..让我粘贴代码
  • @AleksG 我也是……让我展示一些代码
  • $this->return 只是该对象的一个​​属性。

标签: php return this


【解决方案1】:

$this->return 不是“事物”,它只是一个名为“return”的对象属性。与$this->foo$this->bar 没有区别。

return返回语句

【讨论】:

  • 使用关键字作为属性名称听起来仍然像是一种可怕的编程实践......
  • @deceze 但我检查了类,没有明确声明返回属性 thr..检查 pastebin 代码
  • @aaaa "return" 是一个普通的英文单词;在某些情况下,它可能是描述该属性在业务逻辑域中用途的最佳名称。说:class Addresses { protected sender, recipient, return; }
  • @swapnesh 好像是父类中定义的方法!
  • @aaaa 值得商榷,但我偶然发现一个我真的想命名某些东西的案例并不罕见,比如list,因为它确实最适合。因为list 是保留字,所以必须找到一个替代名称非常烦人。任何了解 PHP 的人都知道 $this->return 没什么特别的,所以它很好 IMO。 (OP是证明规则的例外?^_^;;)
【解决方案2】:

没有$this->return 这样的东西。它是您正在使用的对象的属性,就像任何其他属性 $this->id;

return 语句用于从函数返回值。所以你可以有效地写:

return $this->return;

上面会返回$this-<return的值

【讨论】:

    【解决方案3】:

    如您所知,return 语句将指定的值返回给调用代码。

    $this->return不是返回语句;它只是对象的一个​​属性,恰好被命名为return

    这就像一个函数有一个名为 $return 的变量。

    可能$this->return 属性可能会在某个时候被类用于将数据传回调用代码(它的名称会暗示这一点),但它不在与实际 return 语句相关的任何方式。

    【讨论】:

      猜你喜欢
      • 2014-03-24
      • 2014-05-01
      • 2014-05-24
      • 2017-01-17
      • 2011-08-26
      • 2013-06-09
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      相关资源
      最近更新 更多