【问题标题】:What does this line mean?这条线是什么意思?
【发布时间】:2015-01-27 17:07:46
【问题描述】:

我是 PHP 的初学者。我想知道this文件中的第47行是什么意思:

$posts[$key]['comments'] = $this->comments->commentNumber($post['id']);

我正在阅读来自 SitePoint 的名为“Jump Start PHP”的书,但我并不完全理解这一行。另一个增加理解不足的问题是缺少本书未提供的模式。

感谢您的宝贵时间。

【问题讨论】:

  • 你知道$this.comments.commentNumber($post['id']); 是如何工作的吗?
  • 简单:这是一个任务!它将带有 1 个参数的对象的函数调用分配给数组索引

标签: php oop pdo


【解决方案1】:

$this->commentsclass Comments 的对象,其中包含一个名为 commentNumber

的方法/函数
$posts[$key]['comments'] = $this->comments->commentNumber($post['id']);

在此语句中,commentNumber 函数在 Comments 类的对象上调用,并将返回值分配给索引 $key 处的变量 $post。

【讨论】:

  • 很抱歉我没有更具体。在函数 getPosts() 中,第一个循环获取所有帖子,但这一行的循环是什么?
  • 在类 Posts $this->cmets 的构造函数中设置为类 Comments 的实例见第 20 行
【解决方案2】:
$this->comments

在第 20 行实例化,在 Posts 类的类构造函数中。基本上,“Comments”类的一个新实例被实例化并设置为 $this->cmets。

当你打电话时:

$posts[$key]['comments'] = $this->comments->commentNumber($post['id']);

它正在调用第 90 行——Comments 类的 commentNumber 方法。该方法接受一个帖子的 ID 并返回该帖子的 cmets 数。

此行及其相关循环的目的是循环浏览所有帖子并获取每个帖子的 cmets 数量。循环完成后,数组 $posts 将 包含有关帖子的所有信息(每个数组索引一个帖子),包括 cmets 的数量。

【讨论】:

  • 正是我正在寻找的那种解释。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-05-04
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多