Yii入门教程之目录结构、入口文件及路由设置
2016-08-24 09:04
627 查看
本文从YII的目录结构开始分析,到入口文件分析,到路由设置详解,视图详解,十分全面的向我们展示了YII框架的方方面面,是篇非常不错的文章,这里推荐给大家。
项目名称从“FantaCMS”修改成为“testyii”—————— 俗!
1,项目目录结构分析
2,Yii入口文件分析
在Yii启动项目时,传递了项目主配置文件数组,那么Yii会在整个应用中绑定一个全局的Yii对象并且可以通过如下方法来调用该对象:Yii::app()
Yii系统把配置文件中的数组值,通过键值对的形式绑定到了该对象上,例如在配置文件中我们配置了:
'name'=>'My Web Application',
那么我们在项目的任何一个地方通过该对象的属性就可以获取到“name”的值,方法为:
Yii::app()->name;
3,Yii路由设置
同时应该知道:对于控制器名,Yii首先会检测当前的控制器名是否是一个“模块名”,如果是模块名则先定位到模块。
“模块”会在后面搭建项目的时候解释。
通过上面的路由访问到的就是:SiteController.php类文件下的SiteController类中的actionIndex方法
控制器文件位于:protected/controllers 目录下,也就是我们的控制器文件存放目录
注意Yii中控制器文件和动作方法名的书写方式,控制器有统一的后缀”Controller“,动作方法也有统一的前缀”action“,同时要求动作方法名的命名规范符合”除第一个单词外其它每个单词的首字母要大写“
由于Yii默认的控制器名为:site
默认的动作名为:index
因此上述通过指定控制器名动作名访问的路径和直接访问:http://localhost/testyii/ 的效果是一致的
4,视图调用
在动作方法中,调用:$this->render('index');
来为对应的动作方法指定视图文件,视图文件位于:protected/views/site 目录下
其中:site为对应的控制器名文件夹,每个控制器名在视图中都应该具有一个唯一的文件夹名与其相对应
然后在动作方法中通过‘index'来指定显示的具体视图文件是site控制器下的指定的‘index.php'视图文件
另外还需要注意:
调用视图的方法有两个:
$this->render ----> 会调用模板文件
和
$this->renderPartial -----> 不会调用模板文件
它们之间的区别,也如上所述。
5,视图模板设置
打开SiteController.php文件,其中的代码截图如下:
我们发现:Yii应用中,每个控制器都要继承自公共控制器“Controller”
然后打开“Controller”控制器文件:Controller.php,它位于:protected/components 目录下
“Controller”控制器代码截图如下:
Yii通过:public $layout='//layouts/column1'; 来指定动作方法的公共模板文件
公共模板文件位于:protected/views/layouts 目录下,如下图:
现在我们来创建我们的模板文件:testlayout.php,代码如下:
其中”<?php echo $content; ?>“为Yii中规定的模板文件中的内容替换方法
然后,修改 ”Controller“控制器中的模板文件为:public $layout='//layouts/testlayout';
然后访问:http://localhost/testyii/index.php?r=site/index 结果如图:
然后我们发现,模板文件已经变成我们自己指定的了,然后假如你不需要视图文件渲染模板文件,那么你可以在动作方法中调用视图文件的时候使用:$this->renderPartial 方法
或者你整个项目都不需要调用模板文件,那么你可以在动作方法中调用视图文件时全部用:$this->renderPartial
也或者将视图模板文件设置为”空“,例如:public $layout='';
下一节继续:Yii的魔术师:gii,Yii模块及模块自定义
Yii中CGridView禁止列排序的设置方法
Yii操作数据库实现动态获取表名的方法
Yii获取当前url和域名的方法
Yii框架获取当前controlle和action对应id的方法
Yii Framework框架获取分类下面的所有子类方法
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Yii2创建控制器(createController)方法详解
Yii2主题(Theme)用法详解
Yii2创建表单(ActiveForm)方法详解
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
项目名称从“FantaCMS”修改成为“testyii”—————— 俗!
1,项目目录结构分析
2,Yii入口文件分析
在Yii启动项目时,传递了项目主配置文件数组,那么Yii会在整个应用中绑定一个全局的Yii对象并且可以通过如下方法来调用该对象:Yii::app()
Yii系统把配置文件中的数组值,通过键值对的形式绑定到了该对象上,例如在配置文件中我们配置了:
'name'=>'My Web Application',
那么我们在项目的任何一个地方通过该对象的属性就可以获取到“name”的值,方法为:
Yii::app()->name;
3,Yii路由设置
同时应该知道:对于控制器名,Yii首先会检测当前的控制器名是否是一个“模块名”,如果是模块名则先定位到模块。
“模块”会在后面搭建项目的时候解释。
通过上面的路由访问到的就是:SiteController.php类文件下的SiteController类中的actionIndex方法
控制器文件位于:protected/controllers 目录下,也就是我们的控制器文件存放目录
注意Yii中控制器文件和动作方法名的书写方式,控制器有统一的后缀”Controller“,动作方法也有统一的前缀”action“,同时要求动作方法名的命名规范符合”除第一个单词外其它每个单词的首字母要大写“
由于Yii默认的控制器名为:site
默认的动作名为:index
因此上述通过指定控制器名动作名访问的路径和直接访问:http://localhost/testyii/ 的效果是一致的
4,视图调用
在动作方法中,调用:$this->render('index');
来为对应的动作方法指定视图文件,视图文件位于:protected/views/site 目录下
其中:site为对应的控制器名文件夹,每个控制器名在视图中都应该具有一个唯一的文件夹名与其相对应
然后在动作方法中通过‘index'来指定显示的具体视图文件是site控制器下的指定的‘index.php'视图文件
另外还需要注意:
调用视图的方法有两个:
$this->render ----> 会调用模板文件
和
$this->renderPartial -----> 不会调用模板文件
它们之间的区别,也如上所述。
5,视图模板设置
打开SiteController.php文件,其中的代码截图如下:
我们发现:Yii应用中,每个控制器都要继承自公共控制器“Controller”
然后打开“Controller”控制器文件:Controller.php,它位于:protected/components 目录下
“Controller”控制器代码截图如下:
Yii通过:public $layout='//layouts/column1'; 来指定动作方法的公共模板文件
公共模板文件位于:protected/views/layouts 目录下,如下图:
现在我们来创建我们的模板文件:testlayout.php,代码如下:
其中”<?php echo $content; ?>“为Yii中规定的模板文件中的内容替换方法
然后,修改 ”Controller“控制器中的模板文件为:public $layout='//layouts/testlayout';
然后访问:http://localhost/testyii/index.php?r=site/index 结果如图:
然后我们发现,模板文件已经变成我们自己指定的了,然后假如你不需要视图文件渲染模板文件,那么你可以在动作方法中调用视图文件的时候使用:$this->renderPartial 方法
或者你整个项目都不需要调用模板文件,那么你可以在动作方法中调用视图文件时全部用:$this->renderPartial
也或者将视图模板文件设置为”空“,例如:public $layout='';
下一节继续:Yii的魔术师:gii,Yii模块及模块自定义
您可能感兴趣的文章:
Yii2.0预定义的别名功能小结Yii中CGridView禁止列排序的设置方法
Yii操作数据库实现动态获取表名的方法
Yii获取当前url和域名的方法
Yii框架获取当前controlle和action对应id的方法
Yii Framework框架获取分类下面的所有子类方法
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Yii2创建控制器(createController)方法详解
Yii2主题(Theme)用法详解
Yii2创建表单(ActiveForm)方法详解
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
相关文章推荐
- Yii入门教程之目录结构、入口文件及路由设置
- Yii入门教程之目录结构、入口文件及路由设置
- Yii入门教程之目录结构、入口文件及路由设置
- Yii入门教程之目录结构、入口文件及路由设置
- java入门教程-8.6Java中文件与目录管理
- SMARTCLIENT入门教程之五——首页入口文件
- Yii应用的目录结构和入口脚本
- 用Python编写生成树状结构的文件目录的脚本的教程
- php mvc开发系列教程第二节 单一入口文件(路由文件)
- Yii2.0入门--安装方法及目录结构
- gcc编译过程、C语言编译过程分析、环境变量设置、linux文件夹结构和用途介绍、常用文件和目录的操作命令、文件类型
- RHEL6入门系列之四,磁盘分区、文件系统和目录结构
- YII 1.0 隐藏单入口index.php 设置路由与伪静态
- end framework2使用教程【三】–模块目录结构和文件
- ThinkPHP教程_PHP框架之ThinkPHP(一)【入门和介绍、ThinkPHP版本和文件夹规范、项目入口文件】
- solr入门_认识solr结构,了解核心的文件目录
- linux学习笔记入门之目录结构和文件基本操作
- 无废话MVC入门教程三[路由设置及视图入门]
- phpcms V9 默认模板文件目录结构_PHPCms教程
- (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作