Yii2学习笔记系列1——Yii介绍和安装
四 31 三月 2016
Yii2笔记系列1——Yii介绍和安装
什么是Yii
Yii是一个高性能、基于组件的PHP框架,用于快速开发现代Web应用程序,不做过多赘述。
Yii最适合做什么
Yii是一个通用的Web编程框架,可以用于开发各种Web应用,包括但不限于门户网站、社区、内容管理系统(即CMS)以及电子商务项目和RESTful Web服务等。
安装Yii
安装Yii可以通过两种方式:使用Composer或者下载一个归档文件。使用前者的好处是只需要执行一条简单的命令就可以安装新的扩展或者更新Yii了。
通过Composer安装
首选需要安装Composer,可以按照https://getcomposer.org/download/中的方法进行安装,在Linux和Mac OS X中可以通过运行如下命令:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
```
在windows下,需要下载并运行[Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe)
安装完Composer之后,切换到一个可以通过Web访问的目录,执行如下命令即可安装Yii:
```bash
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
简单解释一下这两条命令,第一条命令安装Composer asset plugin,是通过Composer管理bower和npm包所必需的,此命令全局生效,一劳永逸。第二条命令将Yii安装在名为basic的目录中,你也可以选择其他名称。
Note小技巧:如果想安装Yii的最新开发版本,可以使用以下命令代替,它添加了一个stability选项:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
需要注意的是,Yii的开发版(dev 版)不应该被用于生产环境中,它可能会破坏运行中的代码
通过归档文件安装
通过归档文件安装Yii包括三个步骤:
- 从yiiframework.com处下载归档文件。
- 将下载的文件解压缩到Web目录中。
- 修改
config/web.php
文件,给cookieValidationKey
配置添加一个密钥(如果通过Composer安装,则此步骤会自动完成):
// !!! 在下面插入一段密钥(若为空) - 以供 cookie validation 的需要
'cookieValidationKey' => '在此处输入你的密钥',
其他安装方式
-
如果你只想安装核心框架,然后从零开始构建整个属于你自己的应用程序模板,可以参考从头构建自定义模版一节的介绍
-
如果你要开发一个更复杂的应用,可以更好的适用于团队开发环境的,可以考虑安装高级应用模板
验证安装结果
安装完成后,可以使用浏览器通过如下URL访问刚安装完的Yii应用:
http://localhost/basic/web/index.php
当看到如下所示的结果时,表示安装成功:
(我这里修改了hosts文件,所以可以直接通过域名访问)
如果没有,你还可以通过以下任意的一种方式,检查当前的PHP环境是否满足Yii最基本的要求:
- 通过浏览器访问URL
http://localhost/basic/requirements.php
- 在命令行中执行如下命令:
php requirements.php
然后按照提示进行修改即可
可能会遇到的错误异常
- Invalid Parameter - The file or directory to be published does not exist: /path/to/basic/vendor/bower/jquery/dist
这个问题我纠结了很久,最后在https://github.com/yiisoft/yii2/issues/10198处找到了问题,是因为Composer master is broken
解决的方案是。。。重新安装。。。但是!在重新安装之前,要先对Composer做如下操作:
composer self-update 1.0.0-alpha11
composer clear-cache
然后重新执行composer create-project --prefer-dist yiisoft/yii2-app-basic basic
即可,如果这个不能解决你的问题的话可以进行评论,我们再进一步讨论。
Category: PHP Develop