什么是yii框架的博客(demos文件夹)的_view.php中的$ data是什么?

时间:2012-04-04 19:17:23

标签: php yii

我在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>

你能帮我解释或给我一些链接或一些关键词。 感谢一切!

2 个答案:

答案 0 :(得分:3)

请参阅CListView的文档:

  

上述代码首先为Post ActiveRecord创建数据提供程序   类。然后使用CListView显示返回的每个数据项   由数据提供者。显示通过名为的部分视图完成   “彦博”。对于每个数据项,此局部视图将呈现一次。   在视图中,可以通过变量$ data。访问当前数据项   有关更多详细信息,请参阅itemView。

因此,在您的上下文中,$data是正在呈现的帖子。

答案 1 :(得分:2)

$ data是具有单行数据的模型类的对象。 author是与模型的另一个模型的关系,其实例是$ data。 $ data-&gt; author-&gt; username这里的用户名是作者指出的模型的变量。 $ data-&gt;作者也被视为对象。它只会对作者指出的模型执行关系查询。

您可以在模型的relations()函数中看到模型的关系。 尝试yii指南,你会找到答案。