Yii 是一种 MVC 模式。这意味着一部分代码保留在 M(模型)中,另一部分保留在 V(视图)中,另一部分保留在(C)控制器中。您可以在 protected/models 中找到所有模型,在 protected/views 中找到所有视图等。
控制器将使用模型渲染视图。模型是您发送以查看的所有数据。模型可以是变量、记录、整个结果集。在控制器中,您可以进行所有需要的查询,然后您可以将结果放入视图中。
这很简单。
Or do I just create a controller with no related model?
任何控制器都有相关的模型。可能你会混淆阅读作为控制器的 StuffController 和作为模型的 Stuff。这只是意味着 Stuff 模型旨在使用 stuff 表。这也意味着控制器有很多可用于 Stuff 内容的操作。
所有适用于 post 的操作都可以放在 PostController 中。所有适用于日历的操作都可以放在 CalendarController 中。但是模型和控制器在逻辑上是分开的。
所以,......一个例子
class DogController extends Controller {
public function actionBark() {
$this->render('theView', array(
'varName' => 333
));
}
}
这在 Yii 的 MVC 中仅意味着: - 控制器:是 DogController - actionBark 是关于狗的动作 - 模型:模型是 '333' - 视图:视图是 protected/views/dog/theView.php 文件和在它里面,模型是 $varName,它等于 333。模型是数据,而不是扩展 CActiveRecord 或 CModel 的类的记录。