Yii博客教程查询

时间:2012-03-15 21:46:53

标签: php yii

我正在阅读Yii blog tutorial。这段代码做什么

foreach($models as $model)
    self::$_items[$type][$model->code]=$model->name;

loadItems静态函数中。 [$model->code]$model->name来自哪里以及这行代码的作用是什么?

1 个答案:

答案 0 :(得分:1)

loadItems()是一个静态函数,可以加载您需要的某些“类型”的可用状态,例如 comments posts 。例如,它在呈现“帖子编辑页面”之前为“帖子”准备了可用的“状态描述”,因此您将在帖子状态下拉列表中获得所需的值。

$ model在您引用的行之前的静态函数中实例化。这意味着虽然这确实是静态方法,这意味着在没有实例化“Lookup”类的情况下调用,但在其中,它会执行其他操作。这里的句号是强调类方法是一个完全包含的代码单元。它可以做任何内部需要做的事情。一般来说,一个人不需要关心它的内部(当然,除非这个人正在设计和编码这些内部构件),但我的观点是你需要在这里掌握两个不同的东西 - 第一个是这个函数在被引用时的作用来自外部的 - 这只是返回某个类的查找项。第二件事是内部,在作为静态函数时,它实例化了一些类对象,在我们的例子中是相同类型的对象 - 查找。 这个实例化是使用Yii的Active Record功能完成的 - “findAll()”方法,它将为您执行所需的SQL,并将找到的记录的结果集作为Lookup类型的实例化对象数组返回。

我希望这可以解决一些......