注:个人用于自学回顾用,勿喷。
yii学习计划
先整体了解yii文件说明
testdrive/
*index.php Web 应用入口脚本文件
index-test.php 功能测试使用的入口脚本文件
assets/ 包含公开的资源文件
css/ 包含 CSS 文件
images/ 包含图片文件
themes/ 包含应用主题
protected/ 包含受保护的应用文件
yiic yiic 命令行脚本
yiic.bat Windows 下的 yiic 命令行脚本
yiic.php yiic 命令行 PHP 脚本
commands/ 包含自定义的 ‘yiic’ 命令
shell/ 包含自定义的 ‘yiic shell’ 命令
components/ 包含可重用的用户组件
Controller.php 所有控制器类的基础类
Identity.php 用来认证的 ‘Identity’ 类
config/ 包含配置文件
console.php 控制台应用配置
*main.php Web 应用配置
test.php 功能测试使用的配置
*controllers/ 包含控制器的类文件
SiteController.php 默认控制器的类文件
*data/ 包含示例数据库
schema.mysql.sql 示例 MySQL 数据库
schema.sqlite.sql 示例 SQLite 数据库
testdrive.db 示例 SQLite 数据库文件
extensions/ 包含第三方扩展
messages/ 包含翻译过的消息
*models/ 包含模型的类文件
LoginForm.php ‘login’ 动作的表单模型
ContactForm.php ‘contact’ 动作的表单模型
runtime/ 包含临时生成的文件
tests/ 包含测试脚本
views/ 包含控制器的视图和布局文件
layouts/ 包含布局视图文件
main.php 所有视图的默认布局
column1.php 使用单列页面使用的布局
column2.php 使用双列的页面使用的布局
site/ 包含 ‘site’ 控制器的视图文件
pages/ 包含 “静态” 页面
about.php “about” 页面的视图
contact.php ‘contact’ 动作的视图
error.php ‘error’ 动作的视图(显示外部错误)
index.php ‘index’ 动作的视图
login.php ‘login’ 动作的视图
system/ 包含系统视图文件
main.php文件中包含db配置
yii-MVC整个请求流程
1.用户发出了访问 URL http://localhost/yii1/yyi1first/index.php?r=user/index&id=2 的请求, Web 服务器通过执行入口脚本 index.php 处理此请求。
2.入口脚本创建了一个 应用 实例并执行。
3.应用从一个叫做 request 的 应用组件 中获得了用户请求的详细信息。
4.应用在一个名叫 urlManager 的应用组件的帮助下,决定请求的 控制器 和 动作 。在这个例子中,控制器是 user,它代表 UserController 类; 动作是 index ,其实际含义由控制器决定。
5.应用创建了一个所请求控制器的实例以进一步处理用户请求。控制器决定了动作 index 指向控制器类中的一个名为 actionIndex 的方法。然后它创建并持行了与动作关联的过滤器(例如访问控制,基准测试)。 如果过滤器允许,动作将被执行。
6.动作从数据库中读取一个 ID 为 1 的 User 模型。
7.动作通过 User 模型渲染一个名为 index 的 视图。
8.视图读取并显示 User 模型的属性。
9.视图执行一些 小物件。
10.视图的渲染结果被插入一个 布局。
11.动作完成视图渲染并将其呈现给用户。
入口文件理解
设置测试模式,引入YII框架,并且根据指定的配置(main.php)创建一个web实例并且执行。
其实就是实例CWebApplication对象
应用(前端控制器)main.php
应用配置
array(
‘name’=>’Yii Framework’,
‘defaultController’=>’site’,
)
可通过web实例访问name
Yii::app()->name;