安装

yiiframework获取Yii压缩包,将其解压到系统目录(一般解压到WEB服务器目录,以便于Yii检查PHP配置符合Yii配置需求的最低要求).

Yii framework可以被安装到系统的任意文件夹,其中的framework目录包含了所有的框架代码,也是发布时唯一需要的目录。一个安装好的Yii框架,可以被多个Yii应用使用。

安装之后,打开浏览器窗口,,假如WEB服务器为c:\wwwroot.yii安装在此目录下.访问地址http://localhost/yii/requirements/index.php。 这将显示Yii包里提供的配置需求检查。

建立应用的基本框架

我们使用Yiic工具,此工具位于yii安装目录framework下,它是一个命令行工具.假如现在我们需在web服务器下建立一个blog应用框架.

打开一个命令行窗口执行如下命令

yiic webapp c:\wwwroot\blog        回车

根据提示输入”y”   回车

此时blog的基本应用框架已建好.

注意使用上面的命令,必须把php所在的路径添加到环境变量中,以便可以被直接调用.

测试我们新建立应用,可以访问地址http://localhost/blog/index.php我们可以看到我们的应用有三个完整的页面,主页、联系我们和用户登录。

接下来我们简要的说明下我们的应用框架中都有什么。

入口程序

我们有一个入口程序,存放在/wwwroot/blog/index.php,内容如下:

// yii引导文件的路径 以及配置文件main.php的路径。
$yii='c:\wwwroot\yii\framework\yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
// 正式环境下应该去掉,以提高性能,打开debug有利于调试
defined('YII_DEBUG') or define('YII_DEBUG',true);
//加载并运行
require_once($yii);
Yii::createWebApplication($config)->run();

这是唯一被web用户访问的脚本,代码首先加载yii的引导文件yii.php,然后用配置文件生成一个yii实例,并运行。

程序的基本目录

应用程序的基本目录在/wwwroot/blog/protected下面,大多数的代码和数据都保存在这下面。这个目录应该被保护起来以防止web用户的直接访问。对apache的WEB服务器,我们可以在这个目录下建立.htaccess文件。内容如下

deny from all

对于其他类型的WEB服务器,请参考相关手册中关于如何阻止用户直接访问的内容。

应用的工作流程

为了帮助理解Yii是如何工作的。我们介绍了,当用户访问联系我们页面时,我们的应用框架的主要工作流程

  1. 服务器执行入口程序也就是index.php来处理用户请求。
  2. 根据配置文件/wwwroot/blog/protected/config/main.php中的属性,创建一个应用程序实例
  3. 应用程序把请求分配给一个controller(控制器)和controller action(控制器的动作)进行响应,对联系我们页面来说,是分配给site控制器(Controller)和content 动作(action)进行响应。
  4. 应用程序建立一个名为SiteController的Site 控制器(Controller)实例,并执行
  5. SiteController实例通过actionContact方法来执行contact 动作(action)
  6. actionContact方法加载content视图展示给用户。内部实现为加载视图文件/wwwroot/blog/protected/views/site/contact.php,到布局文件/wwwroot/blog/protected/views/layouts/main.php.并填充执行结果。

14 Comments

  1. Undeniably believe that which you said. Your favorite justification appeared to be on the net the easiest thing to be aware of. I say to you, I certainly get irked while people think about worries that they plainly don’t know about. You managed to hit the nail upon the top and defined out the whole thing without having side-effects , people could take a signal. Will likely be back to get more. Thanks

  2. Excellent blog here! Also your website loads up fast! What web host are you using? Can I get your affiliate link to your host? I wish my website loaded up as fast as yours lol

  3. This site is known as a walk-by means of for the entire information you wished about this and didn’t know who to ask. Glimpse here, and also you’ll definitely discover it.

  4. It truly is rare to find a professional in whom you may have some trust. In the world these days, nobody really cares about showing others the answer in this issue. How fortuitous I am to have definitely found a wonderful site as this. It is people like you who really make a genuine difference currently through the ideas they share.

  5. Sugar Mountain Ski Resort Reopens For Skiing & Snowboarding • November 6, 2010: Open For Skiing & Snowboarding • September 13, 2010: Sugar’s Red Lift Receives A Face Lift

  6. Your blog site is so educational … keep up the great work! Also, is your wordpress theme a free one? and if so..can i have it? 🙂 Respectfully, Cira.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


*