Yii入门教程

时间:2024-01-14 21:22:44

1准备Yii源码

首先新建helloyii目录作为Web应用的根目录,并添加到Nginx的配置文件中。然后将Yii框架源码部署到helloyii下,目录结构如下:

helloyii/

|-- framework

|-- ……

|-- YiiBase.php

|-- yiic

|-- yii.php

`-- zii

2编写HelloWorld

2.1目录结构

程序目录结构如下:

app/

|-- index.php

`-- protected

|-- controllers

|   `-- HelloController.php

`-- views

`-- hello

`-- result.php

2.2主要代码

index.php

===============================================================================

<?php

// change the following paths if necessary

$yii=dirname(__FILE__).'/../framework/yii.php';

// remove the following lines when in production mode

defined('YII_DEBUG') or define('YII_DEBUG',true);

// specify how many levels of call stack should be shown in each logmessage

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);

require_once($yii);

Yii::createWebApplication()->run();

?>

protected/controllers/HelloController.php

===============================================================================

<?php

class HelloController extends CController

{

public function actionSay()

{

$varYii = "hi,yii";

$this->render('result', array('varYii'=>$varYii));

}

}

?>

protected/views/hello/result.php

===============================================================================

<?php

echo $varYii;

?>

2.3开始访问

现在可以直接访问了:http://helloyii.com/app/index.php?r=hello/say

3源码解析

3.1资源映射规则

访问Url经过index.php处理,将请求转发到HelloController的actionSay方法中,然后通过result.php生成最终HTML页面。具体映射关系如下图所示:

Yii入门教程

注:如果ControllerID和ActionID为默认值site和index的话,则可以通过http://helloyii.com/app/index.php直接访问。请求会转发给SiteController的actionIndex()方法。

4自动生成代码工具

Yii提供了Yiic和Gii两个代码生成工具,可以生成内容更加丰富的实例,下面就来试用一下。

首先切换到/export/data/helloyii,然后执行:

framework/yiicwebapp demo

将会在/export/data/helloyii/demo中自动生成示例程序代码。