Yii框架学习笔记:配置、控制器与视图
3星 · 超过75%的资源 需积分: 9 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开发的强大工具。
129 浏览量
2021-10-05 上传
123 浏览量
244 浏览量
2020-10-16 上传
2020-10-17 上传
112 浏览量
2020-10-17 上传
2013-07-30 上传
ruida0226
- 粉丝: 0
- 资源: 1
最新资源
- 带日历的VB圆形的模拟时钟代码
- apache-maven-3.6.0-bin.rar
- delphi人才信息管理系统.zip
- 涂料、裱煳、刷浆木材表面施涂溶剂型混色涂料施工工艺标准
- react-advance
- personal-rank-implemented-by-CPP
- Onliner.by конвертер цен-crx插件
- 新疆某钢厂钢结构厂房工程施工组织设计
- 粤语报时示例.rar
- linux-sk:-基于ZEN的内核,具有其他功能
- Определение CMS - iTrack-crx插件
- 密码学:国王密码学课程的python游乐场
- github-slideshow:机器人提供动力的培训资料库
- 价格区间滑块
- fsm
- 51单片机驱动12864液晶显示(有字库)程序(汇编)keil工程文件C源文件