我在yii框架的博客演示的blog / views / post / _view.php中混淆了$ data 我如何获得$ data的这个属性?在哪里可以找到$ data的定义?我在源代码中找到了但没有看到关于 author->用户名,url commentCount?
的任何内容<div class="post">
<div class="title">
<?php echo CHtml::link(CHtml::encode($data->title), $data->url); ?>
</div>
<div class="author">
posted by <?php echo $data->author->username . ' on ' . date('F j, Y',$data->create_time); ?>
</div>
<div class="content">
<?php
$this->beginWidget('CMarkdown', array('purifyOutput'=>true));
echo $data->content;
$this->endWidget();
?>
</div>
<div class="nav">
<b>Tags:</b>
<?php echo implode(', ', $data->tagLinks); ?>
<br/>
<?php echo CHtml::link('Permalink', $data->url); ?> |
<?php echo CHtml::link("Comments ({$data->commentCount})",$data->url.'#comments'); ?> |
Last updated on <?php echo date('F j, Y',$data->update_time); ?>
</div>
</div>
你能帮我解释或给我一些链接或一些关键词。 感谢一切!
答案 0 :(得分:3)
请参阅CListView
的文档:
上述代码首先为Post ActiveRecord创建数据提供程序 类。然后使用CListView显示返回的每个数据项 由数据提供者。显示通过名为的部分视图完成 “彦博”。对于每个数据项,此局部视图将呈现一次。 在视图中,可以通过变量$ data。访问当前数据项 有关更多详细信息,请参阅itemView。
因此,在您的上下文中,$data
是正在呈现的帖子。
答案 1 :(得分:2)
$ data是具有单行数据的模型类的对象。 author是与模型的另一个模型的关系,其实例是$ data。 $ data-&gt; author-&gt; username这里的用户名是作者指出的模型的变量。 $ data-&gt;作者也被视为对象。它只会对作者指出的模型执行关系查询。
您可以在模型的relations()函数中看到模型的关系。 尝试yii指南,你会找到答案。