Yii框架2.0的安装过程
Yii框架是个不错的php开发框架,大型项目上都可以使用。和大多框架一样他也是开源,而且采用了mvc结构的。
Yii1.*,直接下载然后用脚步可以创建自己的项目了,最近看了下Yii2.0版本的,他推荐用composer来安装。当然也可以用类似1.*版本的安装方式。
这篇咱们就说说2.0的composer方式安装。
1、既然是composer方式安装,那就要先有composer了,如果没有的话就自己下载安装,具体可以参考 https://getcomposer.org/doc/00-intro.md#installation-nix 的说明。咱们具体说下window下的常规安装,就是下载 Composer-Setup.exe 然后按普通的下一步就行,期间可能会让你选择下php.exe 文件的位置,安装完成后他会自动把composer的bin目录加入到 系统变量 %path% 里面。
2、按照Yii Framework中文社区里的说明,接下来就要执行命令 来安装Composer Asset插件,
php composer.phar global require "fxp/composer-asset-plugin:1.0.0"
这个时候会提示有关 composer.phar的问题,解决的办法是采用全路径,比如:
php C:\ProgramData\ComposerSetup\bin\composer.phar global require "fxp/composer-asset-plugin:1.0.*" 。
3、接下来就是要安装Yii框架了,他分为基础模板和高级模板,我发现只下载高级模板的话会少很多东西,这个以后研究,所以推荐先现在基础模板。同样会有上面第2条的路径问题,所以命令行大概是这样的:
php C:\ProgramData\ComposerSetup\bin\composer.phar create-project yiisoft/yii2-app-basic basic 2.0.3 。
他会在你执行此脚本的路径下新建一个 base 目录,然后把框架代码和插件放到这个目录下,期间可能会提示你输入github的账号信息,如果没有的话需要在 https://github.com/ 去申请,很简单的,在我第二次安装的时候没有提示输入,可能是他有记忆功能,把第一次输入的信息记录了,以后直接使用。此过程还可能提示某些问题,例如:
Problem 1
- yiisoft/yii2 2.0.3 requires bower-asset/punycode 1.3.* -> no matching package found.
- yiisoft/yii2 2.0.2 requires bower-asset/punycode 1.3.* -> no matching package found.
- yiisoft/yii2 2.0.1 requires bower-asset/punycode 1.3.* -> no matching package found.
- yiisoft/yii2 2.0.0 requires bower-asset/punycode 1.3.* -> no matching package found.
- Installation request for yiisoft/yii2 * -> satisfiable by yiisoft/yii2[2.0.0, 2.0.1, 2.0.2, 2.0.3].
这时就要手动去安装下,可以参考上一条的安装指令。比如我刚才提到的那个问题可以用下面的指令去安装:
php C:\ProgramData\ComposerSetup\bin\composer.phar global require "bower-asset/punycode:1.3.*" 。
然后在运行指令脚步:
php C:\ProgramData\ComposerSetup\bin\composer.phar create-project yiisoft/yii2-app-basic basic 2.0.3
就不会有问题了。
4、然后就可以启动nginx或者apache,通过浏览器访问base这个目录了,我做了host和apache的虚拟主机,访问requirements.php的url,类似这样的地址
http://yii2.wayne.com/requirements.php。
然后可以看到当前系统能否支持Yii2.0框架的最低要求,主要是数据库,gd库,memcache缓存等的扩展,大部分可以通过修改php.ini文件解决。对于warning的也不用都解决,看说明,是不是会用到那部分,而且这个在过后还可以通过修改系统来支持的。
如果conclusion下面有
“Your server configuration satisfies the minimum requirements by this application.”
这句话就说明满足了最小要求。
5、然后就可以访问 http://yii2.wayne.com/web/ 目录了,这里的index.php是单点接入文件。如果看到 congratulation 就说明成功了。
6、为了访问方便和安全可以把 basic/web 设为 Web 服务器根目录并配置,然后访问的url就更加简短且舒服了。比如 http://yii2.wayne.com/,请注意下页面最下边有个YiiDebugger,这个显示了一些信息,挺不错的。
7、我们先大概了解下Yii框架下的主要文件结构
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 控制台命令执行脚本
新的版本里config下多了两个文件params.php 和 db.php,是把params 和 db的参数分离出来,最终还是包含在web.php 文件里的。
一般来说,应用中的文件可被分为两类:在 basic/web 下的和在其它目录下的。前者可以直接通过 HTTP 访问(例如浏览器),后者不能也不应该被直接访问。
Yii 实现了模型-视图-控制器 (MVC)设计模式,这点在上述目录结构中也得以体现。 models 目录包含了所有模型类,views 目录包含了所有视图脚本,controllers 目录包含了所有控制器类。
默认控制器事 site 控制器,也可以在配置文件 web.php 里配置:
'defaultRoute' => 'main',
以下图表展示了一个应用的静态结构:

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

- 用户向入口脚本 base/web/index.php 发起请求。
- 入口脚本加载应用配置并创建一个应用实例去处理请求。
- 应用通过请求组件解析请求的路由。
- 应用创建一个控制器实例去处理请求。
- 控制器创建一个操作实例并针对操作执行过滤器。
- 如果任何一个过滤器返回失败,则操作退出。
- 如果所有过滤器都通过,操作将被执行。
- 操作会加载一个数据模型,或许是来自数据库。
- 操作会渲染一个视图,把数据模型提供给它。
- 渲染结果返回给响应组件。
- 响应组件发送渲染结果给用户浏览器。
还有更详细的文档参考官方的说明 http://www.yiichina.com/doc/guide/2.0/start-installation。
Yii框架2.0的安装过程的更多相关文章
- Linux Red Hat 8.0虚拟机安装过程
Linux Red Hat 8.0虚拟机安装过程 一.安装虚拟机所需要的工具: 1.VMware Workstation Pro 2.Red Hat 8.0 虚拟机镜像 3.还有一个就是VMware的 ...
- CentOS 7下Cloudera Manager及CDH 6.0.1安装过程详解
目录 一.概念介绍 1.CDH 概览 2.Cloudera Manager 概览 二.环境准备 1.软件版本选择 2.节点准备(四个节点) 3.配置主机名和hosts解析(所有节点) 4.关闭防火墙 ...
- Red5 1.0.5安装过程记录
Red5从旧的服务器切换到了github上后,截至20150702仍未更新文档.为了搭建Red5开发环境,我像无头苍蝇一样乱转了很多博客和StackOverflow.藉此记录这次安装过程,希望能够帮助 ...
- VCenter6.0.0的安装过程
背景和实验环境介绍 操作系统环境:windows 2008R2 中文企业版 前期环境配置 配置IP信息,把DNS改成自己的IP 修改主机名和后缀 安装和配置DNS服务 Vcenter 添加dns角色 ...
- 一,我的Android Studio 3.0.1 安装过程
安装成功于20171231的0:46分. 简要记录我的安装过程如下: 一,安装JDK1.8.X 二,安装ANDROID STUDIO.ZIP 三,运行AS,后按提示下载SDK,NDK,必要时设置一下J ...
- 在Ubuntu 14.04 TLS下openvas V8.0源代码安装过程
[Qboy原创]详细记录源代码的安装过程 1.下载原代码 在http://www.openvas.org/install-source.html下载 Libraries 8.0.8 Scanner 5 ...
- opencv3.4.0 安装过程中出现的问题
重新安装opencv3.4.0 参考安装博客: opencv 安装版本测试:pkg-config --modversion opencv https://blog.csdn.net/cocoaqin/ ...
- Yii框架2.0的Gii
Yii框架的Gii在我看来算是个快速创建器,当然对于学习来说意义不大,但对于已经懂得他的原理并用他开发的话,就是个快速开发的好工具. 他能快速的创建控制器,模块,crup,插件,Module. 打开g ...
- Hadoop2.3.0具体安装过程
前言: Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-co ...
随机推荐
- doc转docx以及type对应的类型
https://blog.csdn.net/flagang/article/details/51454665 // 作为type格式保存到临时文件 // *Variant(0):doc // *Var ...
- MySQL编程API
1.MySQL API数据结构 MySQL API中用到了很多结构体类型,下面就简单说一下常用的结构体. MYSQL 连接数据库前,必须先创建MYSQL变量,此变量在很多MySQL API函数中会用到 ...
- std::string与output-operator"<<"的兼容问题
经查阅资料得知,“在某些编译器下std::string,需要使用c_str()才能作为output-operator "<<" 的参数” std::string tit ...
- windows7环境下使用pip安装MySQLdb
1.首先,需要确定你已经安装了pip.在Python2.7的安装包中,easy_install.py和pip都是默认安装的.可以在Python的安装目录先确认,如果\Python27\Scripts里 ...
- Spider Studio 新版本 (20140225) - 设置菜单调整 / 提供JQueryContext布局相关的方法
这是年后的第一个新版本, 包含如下: 1. 先前去掉的浏览器设置功能又回来了! 说来惭愧, 去掉了这两个功能之后发现浏览经常会被JS错误打断, 很不方便, 于是乎又把它们给找回来了. :) 2. 为J ...
- shell向python传参数
想要在shell中调用python脚本时实现: python pyServer.py argu1 argu2 argu3 利用 sys.argv 即可读取到 相应参数: # coding=utf-8 ...
- 回文树(回文自动机) - URAL 1960 Palindromes and Super Abilities
Palindromes and Super Abilities Problem's Link: http://acm.timus.ru/problem.aspx?space=1&num=19 ...
- 你不知道的JavaScript学习笔记1——作用域
处理程序三要素: 引擎:编译与执行过程. 编译器:语法分析与代码生成等. 作用域:收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权 ...
- TensorFlow基础笔记(3) cifar10 分类学习
TensorFlow基础笔记(3) cifar10 分类学习 CIFAR-10 is a common benchmark in machine learning for image recognit ...
- Unity四元数和旋转
四元数介绍 旋转,应该是三种坐标变换——缩放.旋转和平移,中最复杂的一种了.大家应该都听过,有一种旋转的表示方法叫四元数.按照我们的习惯,我们更加熟悉的是另外两种旋转的表示方法——矩阵旋转和欧拉旋转. ...