安装框架
Yii2是一个以Composer包形式提供的现代PHP框架。在本小节中,我们将会通过Composer包管理器来安装框架,并为我们的应用配置数据库连接。
准备
首先,在你的系统上安装Composer包管理器。
注意:如果你在Windows上使用OpenServer应用,那么OpenServer控制台中已经有composer
命令了。
在Mac或者Linux上,可以从https://getcomposer.org/download/下载安装包,并使用如下命令进行全局安装:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
在Windows中,如果没有安装OpenServer,可以从https://getcomposer.org/doc/00-intro.md下载并运行Composer-Setup.exe
。
如果你没有系统的管理员权限,那么你也可以使用一个备用方案,下载https://getcomposer.org/composer.phar原始文件,使用php composer.phar
替单个composer
命令。
安装好以后,在控制台中运行命令:
composer
或者备用方案(如果你只是下载了原始文件):
php composer.phar
安装成功以后,你将会看到如下响应:
______
/ ____/___ ____ ___ ____ ____ ________ _____ _____
/ / / __ \/ __ '__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/ \___/_/
/_/
Composer version 1.2.0 2016-07-18 11:27:19
然后你就可以安装https://packagist.org上提供的任意包了。
如何做…
你可以安装基本应用模板或者高级应用模板。为了了解这这两者的区别,你可以参考应用模板小节。
注意:需要注意的是,在安装过程中,Composer包管理器从Github网站获取了很多信息。Github也许会限制匿名用户的请求。在这种情况下,Composer会让你输入访问令牌(access token)。你只需要在https://github.com上进行注册,并根据https://github.com/blog/1509-personal-api-tokens的指导,生成一个新的token。
安装基础项目模板
执行如下步骤,安装基本项目模板:
- 首先打开控制台,安装Bower-to-Composer适配器:
composer global require "fxp/composer-asset-plugin:^1.2.0"
它提供了一个简单的方法,可以从Bower库中加载相关的非PHP包(Javascript和CSS)。
- 在这个新的
basic
目录中创建一个新的应用:
composer create-project --prefer-dist iisoft/yii2-app-basic basic
- 检查你的PHP是否包含必需的扩展:
cd basic
php requirements.php
注意:PHP在命令行模式和web界面模式可以使用不同的php.ini
文件,从而可以使用不同的配置和不同的扩展。
-
创建一个新的数据库(如果这对你的项目是必需的),并在
config/db.php
文件中配置。 -
尝试通过如下控制台命令运行应用:
php yii serve
- 在你的浏览器中通过访问网址http://localhost:8080来检查应用是否工作:
对于永久场合,在你的服务器(Apache、Nginx等等)上创建一个新的host,将web
目录设置为host的文档根目录。
安装高级项目模板
执行如下步骤来安装高级项目模板:
- 首先打开控制台,安装Bower-to-Composer适配器:
composer global require "fxp/composer-asset-plugin:^1.2.0"
它提供了一个简单的方法,可以从Bower库中加载相关的非PHP包(Javascript和CSS)。
- 在这个新的
basic
目录中创建一个新的应用:
composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced
- 然而这个新应用不包含本地配置文件和
index.php
入口脚本。为了生成这些文件只需要init
一个工作环境:
cd advanced
php init
在初始化过程中选择开发环境。
- 检查你的PHP是否包含了必需的扩展:
php requirements.php
注意:PHP在命令行模式和web界面模式可以使用不同的php.ini文件,从而可以使用不同的配置和不同的扩展。
-
创建一个新的数据库,并在生成的
common/config/mainlocal.php
文件中配置。 -
执行这个应用迁移:
php yii migrate
这个命令将会自动在你的数据库中创建一个user
表。
- 尝试通过如下控制台命令运行一个前端应用:
php yii serve --docroot=@frontend/web --port=8080
然后在另外一个控制台窗口运行后端:
php yii serve --docroot=@backend/web --port=8090
- 通过访问网址http://localhost:8080和http://localhost:8090在你的浏览器中检查应用是否工作:
在你的服务器(Apache、Nginx等等)上,为后端和前端应用创建两个新hosts,然后将backend/web
和frontend/web
目录设置为hosts的文档根目录。
工作原理…
首先,我们安装了Composer包管理器和Bower资源插件。
通过composer的create-project命令安装了应用以后,这个命令创建了一个新的空目录,将应用模板源代码和所有的依赖(框架和其它控件)复制到vendor的子目录中。
如果需要,我们将会初始化应用配置并设置一个新的数据库。
我们可以在控制台或者浏览器中通过运行requirements.php脚本来检查系统要求。
复制好代码以后,我们可以配置自己的PHP服务器,将web目录作为服务器的文档根目录。
参考
这里可以找到更多关于yii2-app-basic的安装信息,http://www.yiiframework.com/doc-2.0/guide-start-installation.html。
yii2-app-advanced的安装可以参考https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/start-installation.md。
Composer包管理器可以参考https://getcomposer.org。
为Composer创建一个Github访问令牌(access token)可以参考https://github.com/blog/1509-personal-api-tokens。