Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发 Web 应用程序。

一、安装
1.Composer 安装
Composer是一个基于项目的依赖管理器,负责将PHP项目所依赖的包或库安装到项目所在的目录中
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

2.安装 Yii
安装 Composer asset plugin包管理插件
composer global require "fxp/composer-asset-plugin:~1.0.0"
安装Yii 到名为 basic 的目录中
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
注:安装过程中会询问你的github身份令牌token,可在github设置中生成token,复制到这里。

将basic项目文件夹,copy到web服务器网页根目录下(/var/www/html),访问地址http://localhost/basic/web/index.php
出现以下界面,说明安装成功。

二:Yii请求处理过程

应用中最重要的目录和文件(假设应用根目录是 basic):

basic/ 应用根目录
  composer.json Composer 配置文件, 描述包信息
  config/ 包含应用配置及其它配置
    console.php 控制台应用配置信息
    web.php Web 应用配置信息
  commands/ 包含控制台命令类
  controllers/ 包含控制器类
  models/ 包含模型类
  runtime/ 包含 Yii 在运行时生成的文件,例如日志和缓存文件
  vendor/ 包含已经安装的 Composer 包,包括 Yii 框架自身
  views/ 包含视图文件
  web/ Web 应用根目录,包含 Web 入口文件
    assets/ 包含 Yii 发布的资源文件(javascript 和 css)
    index.php 应用入口文件
  yii Yii 控制台命令执行脚本

Yii 实现了模型-视图-控制器 (MVC)设计模式。 models 目录包含了所有模型类,views 目录包含了所有视图脚本,controllers 目录包含了所有控制器类。

以下图表展示了一个应用的静态结构:

每个应用都有一个入口脚本 web/index.php,这是整个应用中唯一可以访问的 PHP 脚本。入口脚本接受一个 Web 请求并创建应用实例去处理它。 应用在它的组建辅助下解析请求,并分派请求至 MVC 元素。视图使用小部件去创建复杂和动态的用户界面。

请求生命周期

以下图表展示了一个应用如何处理请求:

1.用户向入口脚本 web/index.php 发起请求。
2.入口脚本加载应用配置并创建一个应用实例去处理请求。
3.应用通过请求组件解析请求的路由。
4.应用创建一个控制器实例去处理请求。
5.控制器创建一个操作实例并针对操作执行过滤器。
6.如果任何一个过滤器返回失败,则操作退出。
7.如果所有过滤器都通过,操作将被执行。
8.操作会加载一个数据模型,或许是来自数据库。
9.操作会渲染一个视图,把数据模型提供给它。
10.渲染结果返回给响应组件。
11.响应组件发送渲染结果给用户浏览器。

参考资料:http://www.yiichina.com/doc/guide/2.0

Yii2.0 权威指南的更多相关文章

  1. 《果壳中的C# C# 5.0 权威指南》 - 学习笔记

    <果壳中的C# C# 5.0 权威指南> ========== ========== ==========[作者] (美) Joseph Albahari (美) Ben Albahari ...

  2. C#基础:C#4.0权威指南 杂笔一

    1.c#中数组初始化的几种不同用法     int[] name = new int[NUM];       int[] name = {1, 2, 3, 4, 5, 6};       int[] ...

  3. yii2.0 干货

    Yii2 干货集,欢迎提交 Pull Requests.(提交过来的开源项目最好是你用过的,并且觉得好用的) Docs 文档 Yii Framework 2.0 类参考手册 Yii Framework ...

  4. Yii2.0 RESTful API 认证教程

    认证介绍 和Web应用不同,RESTful APIs 通常是无状态的, 也就意味着不应使用 sessions 或 cookies, 因此每个请求应附带某种授权凭证,因为用户授权状态可能没通过 sess ...

  5. Yii2权威指南中文版及众包翻译平台

    Yii2在今年4月份公布了beta版本号,预计下半年会推出正式版本号(可用于生产环境). Yii2使用了新的PHP语法特性(PHP5.4+)并集成了大量新的编程最佳实践, 如命名空间.响应式界面组件库 ...

  6. 【Yii系列】Yii2.0基础框架

    缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我 ...

  7. 学习yii2.0——基础入门

    声明:本文内容来自于yiichina.com的权威指南. 安装 推荐使用composer来安全,可能有点慢(要下载的依赖比较多). composer create-project --prefer-d ...

  8. yii2.0安装ElasticSearch及使用

    yii2.0安装ElasticSearch安装及使用教程:https://www.yiichina.com/tutorial/1046 Elasticsearch 权威指南(中文版):https:// ...

  9. Yii2.0

    Yii2.0基础框架   缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是 ...

随机推荐

  1. Camera 预览变形问题解决

    最近开发一款自定义相机采集照片的demo,花了一个上午开发了一个在测试机上功能正常的apk连同测试机一起交付(需求方反馈没有Android设备),然而晚上被喊去说是在华为畅玩某型号上预览会变形,拍到的 ...

  2. eclipes设置默认注释作者

    打开Perfences首选项页,搜索Template,找到Java>> Code Style >> Code Template功能,在打开的树中,找到Comments.Type ...

  3. 别人的spring学习入门笔记

    http://elf8848.iteye.com/blog/875830  可以做入门参考,英语好可以阅读spring的spring-framework-reference 更多学习blog http ...

  4. 自定义AppSession

    TelnetSession.cs public class TelnetSession:AppSession<TelnetSession> { protected override voi ...

  5. openssh入门

    ssh (secure shell),ssh协议支持登录及文件的传输加密防止数据截留! 01.下载 https://www.ssh.com/                               ...

  6. jQuery+PHP动态显示(项目)实时时间和倒计时

    jQuery动态显示当前时间:    html代码:<div id="current_time"></div> setInterval()使用:setInt ...

  7. zabbix对数据盘磁盘容量进行监控

    示例将数据盘挂载到 /mnt目录 , 对 /mnt目录进程容量监控 item 添加对 /mnt 目录的监控项 tragger 添加触发项 这样完成对一个数据盘磁盘容量的监控

  8. iOS 直播推流 - 搭建基于RTMP的本地Nginx服务器

    前端时间,公司要调研直播相关的内容,特地花时间进行了一番调研. 本篇将记录其中的推流篇-本地推理播放测试. 关于Nginx: 配置Nginx以支持HLS.RTMP的推流与拉流,iOS系统使用LFLiv ...

  9. POJ 3233 Matrix Power Series (矩阵乘法)

    Matrix Power Series Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 11954   Accepted:  ...

  10. 解决spring el表达式不起作用

    el表达式不起作用,如下图所示 现象: 在显示页面中加入: <%@ page isELIgnored="false" %>就OK了 参考:http://bbs.csdn ...