创建基本blog --- yii打造自己的blog (二)

来源:互联网 发布:程序员 公务员 编辑:程序博客网 时间:2024/05/18 00:48

在这章中,我们将介绍如何初始化一个Yii Framework的结构。 为了方便起见, 我们假设网站服务器的根目录为/wwwroot, 而相对应的URL地址为http://www.example.com。

安装

首先我们可以从http://www.yiiframework.com下载最新版本的框架程序(1.03版本或以上)解压到/wwwroot/yii。然后 检查下/wwwroot/yii/framework目录是否已经存在。

安装之后打开浏览器,输入http://www.example.com/yii/requirements/index.php来检查当前框架版本的要求。 确保我们的网站服务器和PHP环境都满足框架的最低要求。我们需要打开pdo和pdo_sqlite这两个PHP扩展,使我们的博客应用程序可以顺利的访问sqlite数据库。

建立应用程序骨架

yiic是框架发行版中自带的命令行工具,我们可以用它方便的生成一系列基础代码。现在让我们在/wwwroot/blog下建立我们博客应用的骨架。

打开windows命令行工具,然后执行:

% /wwwroot/yii/framework/yiic webapp /wwwroot/blogCreate a Web application under '/wwwroot/blog'? [Yes|No]y......

提示: 如果想使用上述代码我们必须在windows的环境变量中添加CLI PHP程序的路径,否则我们就需要使用下面的命令代替:

path/to/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog

为了检查我们的上述步骤是不是执行成功,我们可以打开浏览器在地址栏输入http://www.example.com/blog/index.php。 此时我们应该可以看到3个功能页面:主页,contact页面和login页面。

接下来,我们将会详细的介绍我们的骨架程序中到底有些什么。

入口文件

首先我们的入口文件/wwwroot/blog/index.php将会包含以下内容:

// change the following paths if necessary$yii = dirname(__FILE__) . "/framework/yii.php";$config = dirname(__FILE__) . "/protected/config/main.php"; // remove the following line when in production modedefined("YII_DEBUG") or define("YII_DEBUG", true); require_once($yii);Yii::createWebApplication($config)->run();

这是唯一一个我们的网站用户可以直接访问的页面。在这个文件中包含了Yii框架的启动文件yii.php.它会根据给定的配置文件建立application实体,执行application。

Application基础目录

我会有一个application的基础目录为/wwwroot/blog/portected.我们的主要代码和数据都将存放在这个目录下面。这个目录应该不允许访问网站的用户直接访问。 如果我们用的是apache服务器,我们可以在这个目录下建立一个.htaccess文件然后放入下列内容:

deny from all

如果是其他网站服务器,请参考相应的手册来建立目录保护机制以避免用户对改目录的直接访问。

Application工作流程

为了帮助大家明白Yii是如何工作的, 我们在这里描述下当一个用户访问contact页面的时候,我们的应用程序的工作流程是怎么样的:

  1. 网站服务器执行入口文件处理请求;
  2. 通过对配置文件/wwwroot/blog/protected/config/main.php的设定来建立application实体;
  3. 应用程序决定请求应该执行哪个controller和action。比如contact页面的请求将会执行site controller和里面的contact action;
  4. 应用程序建立对应controller的实体SiteController
  5. SiteController实体执行相应的action函数:actionContact();
  6. actionContact函数绑定一个名叫contact的视图。 默认情况下,这个视图文件存放位置为/wwwroot/blog/protected/views/site/contact.php,并且可以这个视图的结果绑定在一个默认的layout文件:/wwwroot/blog/protected/views/layouts/main.php
原创粉丝点击