yiiapi/docs/guide/zh_cn/basics.view.txt
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
视图
====
视图是一个包含了主要的用户交互元素的PHP脚本.他可以包含PHP语句,但是我们建议这些语句不要去改变数据模型,且最好能够保持其单纯性(单纯作为视图)。为了实现逻辑和界面分离,大段的逻辑应该被放置于控制器或模型中,而不是视图中。
视图有一个名字,当渲染(render)时,名字会被用于识别视图脚本文件。视图的名称与其视图脚本名称是一样的.例如:视图 `edit` 的名称出自一个名为 `edit.php` 的脚本文件.要渲染时如,需通过传递视图的名称调用 [CController::render()]。这个方法将在 `protected/views/ControllerID` 目录下寻找对应的视图文件.
在视图脚本内部,我们可以通过 `$this` 来访问控制器实例.我们可以在视图里以 `$this->propertyName` 的方式 `拉取` 控制器的任何属性.
我们也可以用以下 `推送` 的方式传递数据到视图里:
~~~
[php]
$this->render('edit', array(
'var1'=>$value1,
'var2'=>$value2,
));
~~~
在以上的方式中, [render()|CController::render] 方法将提取数组的第二个参数到变量里.其产生的结果是,在视图脚本里,我们可以直接访问变量 `$var1` 和 `$var2`.
布局
------
布局是一种用来修饰视图的特殊的视图文件.它通常包含了用户界面中通用的一部分视图.例如:布局可以包含header和footer的部分,然后把内容嵌入其间.
~~~
[php]
......header here......
<?php echo $content; ?>
......footer here......
~~~
其中的 `$content` 则储存了内容视图的渲染结果.
当使用 [render()|CController::render] 时,布局被隐式应用.视图脚本 `protected/views/layouts/main.php` 是默认的布局文件.这可以通过改变 [CWebApplication::layout] 或者 [CWebApplication::layout] 进行自定义。要渲染一个不带布局的视图,则需调用 [renderPartial()|CController::renderPartial] 。
小物件
------
小物件是 [CWidget] 或其子类的实例.它是一个主要用于表现数据的组件.小物件通常内嵌于一个视图来产生一些复杂而独立的用户界面.例如,一个日历小物件可用于渲染一个复杂的日历界面.小物件使用户界面更加可复用.
我们可以按如下视图脚本来使用一个小物件:
~~~
[php]
<?php $this->beginWidget('path.to.WidgetClass'); ?>
...可能会由小物件获取的内容主体...
<?php $this->endWidget(); ?>
~~~
或者
~~~
[php]
<?php $this->widget('path.to.WidgetClass'); ?>
~~~
后者用于不需要任何 body 内容的组件.
后面还有 40 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
