Yii高级版部署指南

貌似好久没写博客了,索性来灌个水~本来是决定不再写PHP相关的博客的,但是为了给博客充数,还是来一发。

Yii官方给我们提供了两种安装方法,composer安装和从模版创建。事实上,这两种方法安装下来都会区分基础版和高级版本。今天,就来看看从压缩文件部署Yii高级版本。

1,在本地电脑部署好PHP环境之后(这里推荐使用xampp),我们就可以把压缩包的部署模板下载下来了(Yii官网->Download频道->Install from an Archive File)。解压到站点目录,比如htdocs/learnYii(解压完了learnYii的结构应该和图中是一样的)。

image

2,不用尝试访问http://localhost/learnYii , 你是访问不到的,别问我为什么!因为你压根都没部署。部署之前,请确认你的PHP可执行目录加入到了操作系统的环境变量(在系统变量path加上一个值,该值为php.exe所在文件夹的路径),以确保在cmd窗口可以使用php命令。检查是否存在PHP环境变量,只需要在cmd中打php –version

image

看到PHP的版本信息,那么就安装成功了。

*如果你使用的是xampp,就没必要这么麻烦了,点击面板上面的shell,即可执行。

image

3,在shell窗口将目录切到htdocs\learnYii

……

cd htdocs\learnYii
4,执行初始化批处理文件,选择环境,推荐选择开发环境。

image

初始化

#init

选择版本

#which environment do you want the application to be initialized in?

0

确认选择

#yes

坐等初始化完成
image

5,访问http://localhost/learnYii/frontend/web/http://localhost/learnYii/backend/web/ 如果出页面,则表示安装成功。

*事实上,能不能安装Yii,是可以检测的http://localhost/learnYii/requirements.php 即可。

6,尝试在目录htdocs\learnYii\frontend\controllers\新建文件TestController.php

并写入以下内容

<?php

namespace frontend\controllers;

use Yii;

use yii\web\Controller;

/**

  • Test controller

*/

class TestController extends Controller

{

/**

  • Default Action

*/

public function actionIndex()

{

echo “Test::Hello”;

}

/**

  • Test Action

*/

public function actionTest()

{

echo “Test::Test”;

}

}
如果http://localhost/learnYii/frontend/web/?r=test/http://localhost/learnYii/frontend/web/?r=test/test 能输出内容,那么就OK了。

*Yii是一套十分完善的MVC框架。网址中r表示路径。其中r=a/b表示A控制器下的B action~控制器的文件名必须为XyzController。并且action必须为actionAbc。注意,文件名必须要和类名保持一致。类名采用大写字母开头的驼峰,action名字采用小写字母开头的驼峰。

7,既然前面的六步完成了,那我们看看gii吧。赶紧访问http://localhost/learnYii/frontend/web/?r=gii

image

这货可以自动生成model,curd,Controller,表单,Module,扩展……

这里试试Module

image

预览:

image

点击生成按钮

image

8,根据提示,将以下代码放到frontend\config\main.php当中的return 部分(作为单独的元素)

‘modules’ => [

        'api' =&gt; [

            'class' =&gt; 'app\modules\api\Module',

        ],

    ],
访问,[http://localhost/learnYii/frontend/web/index.php?r=api](http://localhost/learnYii/frontend/web/index.php?r=api "http://localhost/learnYii/frontend/web/index.php?r=api") 如果成功了就说明创建module成功。
[![image](http://www.httpbin.com.cn/wp-content/uploads/2015/06/image_thumb9.png "image")](http://www.httpbin.com.cn/wp-content/uploads/2015/06/image9.png)

*一个modules包含了完成的MVC构架。大家可以查看生成的代码。