Yii框架学习笔记:配置、控制器与视图

3星 · 超过75%的资源 需积分: 9 8 下载量 90 浏览量 更新于2024-09-09 收藏 2KB TXT 举报
"yii框架笔记" Yii是一个高性能的,基于组件的PHP框架,用于开发Web 2.0应用程序。本文档将记录我在学习和使用Yii框架过程中的一些关键知识点和经验。 一、环境配置与项目初始化 1. 首先,确保PHP解释器`php.exe`已经被添加到系统的PATH环境变量中,这样可以在任何目录下运行PHP命令。 2. 在命令行中,通过`yiic webapp`命令创建一个新的Yii项目。这个命令会在指定的目录下生成一个基本的Web应用结构,包括了`framework`目录、`requirements`(需求检查)、`web`(Web入口)、`assets`(静态资源)、`css`、`images`、`themes`(主题)、`index.php`(入口脚本)、以及`protected`(核心代码)目录等。 3. `protected`目录中包含`components`(组件)、`controllers`(控制器)、`models`(模型)、`views`(视图)等子目录,它们分别对应MVC架构的不同部分。 二、Yii MVC模式应用 1. 控制器(Controller):例如`IndexController.php`,是应用的核心,负责处理用户请求,调用模型并决定如何呈现视图。 2. 创建控制器:可以继承Yii的`CController`类,定义新的控制器类,例如创建一个名为`SiteController`的控制器。 3. 动作(Action):在控制器中定义方法作为动作,例如`actionIndex()`表示默认的动作。 4. 路由配置:在`config/main.php`配置文件中,可以设置默认控制器和操作,如`'defaultController'=>'Index'`,这意味着访问根URL时,将执行`IndexController`的`actionIndex()`。 5. URL路由:Yii支持优雅的URL路由,如`http://localhost/yii/web/index.php?r=site/page`,其中`site/page`是路由参数。 6. 视图渲染:使用`$this->render()`方法在控制器中渲染视图,例如`$this->render('index')`渲染`views/index.php`,并自动将控制器上下文传递给视图。 7. 数据传递:可以通过`$this->render()`的第二个参数传递数据,如`$this->render('index', array('title'=>'Hello'))`,然后在视图中使用`<?php echo $title; ?>`来显示。 三、Yii的Gii工具 1. Gii是一个代码生成工具,可以帮助快速生成基础的CRUD操作和其他代码。在`main.php`配置文件中启用Gii模块。 2. 访问`/index.php?r=giigii`启动Gii界面,输入模型或控制器的相关信息,Gii会自动生成相应的代码。 3. 生成的代码通常位于`modules`目录下,包括控制器和视图文件。 四、使用Widgets(小部件) 1. Yii提供了一套丰富的预定义小部件,如`CActiveForm`,可以方便地创建表单。 2. 创建自定义小部件,通常在`protected/components`目录下新建一个类,继承`CWidget`或其子类。 3. 使用小部件,例如在视图文件中,`$this->beginWidget('CActiveForm')`开始表单,`echo $form->textField($model, 'attribute')`生成文本字段,最后`$this->endWidget()`结束小部件。 以上只是Yii框架的基础知识,实际开发中还有更多高级特性和最佳实践,如缓存、数据库操作、安全、国际化等。Yii框架的灵活性和高效性能使其成为PHP开发的强大工具。