YII——入门第一篇

来源:互联网 发布:聚合数据接口开发教程 编辑:程序博客网 时间:2024/06/06 15:55

1、Gii——强大的基于web的代码生成器,为特定的任务完成自动代码生成;
我们可以使用yiic命令行工具创建一个新的yii应用
% YiiRoot/framework/yiic webapp WebRoot/testdrive
% cd WebRoot
% php YiiRoot/framework/yiic.php webapp testdrive

2、应用——是指请求处理中的执行上下文,它的主要任务是分析用户请求并将其分配到合适的控制器中以做进一步的处理。它同时作为服务中心,维护应用级别的配置。
应用由入口脚本创建一个单例对象,这个应用单例对象可以在任何地方通过Yii::app()访问。

3、应用基础目录:/protected,可以通过设置application configuration中的basePath属性自定义,
在该目录下的内容应该被保护起来,防止网站访客直接访问,对于 Apache HTTP服务器,可以再该目录下放置一个.htaccess文件,文件内容为: deny from all

4、应用组件——应用可以通过其灵活的组件结构轻易地自定义或增强,应用管理了一系列应用组件;
要访问一个组件:Yii::app()->componentID

5、应用的生命周期
1)通过CApplication::preinit()预初始化应用;
2)设置类的自动装载器和错误处理;
3)注册核心类组件;
4)加载应用配置;
5)通过CApplication::init()初始化应用:<1>注册应用行为;<2>载入静态应用组件

6)触发onBeginRequest事件

7)处理用户请求:
1>解析用户请求
2>创建控制器
3>运行控制器

8)触发onEndRequest事件

控制器
当一个控制器运行时,它执行所请求的动作,动作通常会引入所需要的模型并渲染相应的视图;
控制器通常有一个默认动作,当请求未指定动作名时,默认执行index方法,这个可以通过CController::defaultAction()修改
1、路由——是由控制器ID和动作ID连接的:path/view
默认情况下,路由是大小写敏感的,可以通过设置应用配置中的CURLManage::caseSensitive为false使大小写不敏感

2、动作——定义一个动作类并让控制器在收到请求时将其实例化,这使得动作可以被复用;

3、动作参数绑定

4、过滤器——可以定义为一个控制器类的方法,方法名必须以filter开头;
过滤器也可以是一个CFilter或其子类的实例

视图
在视图脚本内部,可以使用this访this->propertyName来获取控制器属性

原创粉丝点击