Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

YiiFrameworkBlog开发向导:Yii安装

Posted on 2010-02-24 21:38  analyzer  阅读(3450)  评论(1编辑  收藏  举报

Yii安装

最后更新 2009-07-15 23:08:20

在这一节中,我们用Yii创建了一个应用的基本框架作为起点。为方便起见,我们假定WEB服务的根目录为/wwwroot。对应的访问地址为http://www.example.com/

安装

我们首先安装Yii framework。从yiiframework获取Yii压缩包,将其解压到目录 /wwwroot/yii,再次检查,确保目录/wwwroot/yii/framework存在。

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

安装之后,打开浏览器窗口,访问地址http://www.example.com/yii/requirements/index.php。 这将显示Yii包里提供的配置需求检查。请确保我们的WEB服务器和PHP配置符合Yii配置需求的最低要求。尤其是,我们要确保php的pdo扩展和 pdo_sqlite模块启用,因为在接下来的blog应用中我们需要以上扩展来连接SQLite数据库。可以查看到的配置大体如下图。

requirements

建立应用的基本框架

我们使用Yiic工具,在目录/wwwroot/blog.下建立应用的基本框架。Yii包里提供的Yiic工具是个命令行工具,它可以对一些任务(task)生成代码。

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

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

我本机的yiiframework保存在E:\web\yii\framework。命令行执行情况如下:

E:\web\yii\framework>yiic webapp e:/web/yii\blog
Create a Web application under 'E:\web\yii\blog'? [Yes|No] y
      mkdir E:/web/yii/blog
      mkdir E:/web/yii/blog/assets
   generate assets/.yii
      mkdir E:/web/yii/blog/css
   generate css/bg.gif
   generate css/form.css
   generate css/main.css
      mkdir E:/web/yii/blog/images
   generate images/.yii
   generate index.php
      mkdir E:/web/yii/blog/protected
   generate protected/.htaccess
      mkdir E:/web/yii/blog/protected/commands
      mkdir E:/web/yii/blog/protected/commands/shell
   generate protected/commands/shell/.yii
      mkdir E:/web/yii/blog/protected/components
   generate protected/components/MainMenu.php
   generate protected/components/UserIdentity.php
      mkdir E:/web/yii/blog/protected/components/views
   generate protected/components/views/mainMenu.php
      mkdir E:/web/yii/blog/protected/config
   generate protected/config/console.php
   generate protected/config/main.php
      mkdir E:/web/yii/blog/protected/controllers
   generate protected/controllers/SiteController.php
      mkdir E:/web/yii/blog/protected/extensions
   generate protected/extensions/.yii
      mkdir E:/web/yii/blog/protected/messages
   generate protected/messages/.yii
      mkdir E:/web/yii/blog/protected/models
   generate protected/models/ContactForm.php
   generate protected/models/LoginForm.php
      mkdir E:/web/yii/blog/protected/runtime
   generate protected/runtime/.yii
      mkdir E:/web/yii/blog/protected/views
      mkdir E:/web/yii/blog/protected/views/layouts
   generate protected/views/layouts/main.php
      mkdir E:/web/yii/blog/protected/views/site
   generate protected/views/site/contact.php
   generate protected/views/site/index.php
   generate protected/views/site/login.php
      mkdir E:/web/yii/blog/protected/views/system
   generate protected/views/system/.yii
   generate protected/yiic
   generate protected/yiic.bat
   generate protected/yiic.php
      mkdir E:/web/yii/blog/themes
      mkdir E:/web/yii/blog/themes/classic
      mkdir E:/web/yii/blog/themes/classic/views
   generate themes/classic/views/.htaccess
      mkdir E:/web/yii/blog/themes/classic/views/layouts
   generate themes/classic/views/layouts/.yii
      mkdir E:/web/yii/blog/themes/classic/views/site
   generate themes/classic/views/site/.yii
      mkdir E:/web/yii/blog/themes/classic/views/system
   generate themes/classic/views/system/.yii

Your application has been created successfully under E:\web\yii\blog.

E:\web\yii\framework>
要使用上面的命令,必须把php所在的路径添加到环境变量中,以似的可以被直接调用,否则请参考如下命令格式:
path/to/php path/to/yii/framework/yiic.php webapp path/to/blog

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

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

入口程序

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



 
  1. <?php
  2.  
  3. // yii引导文件的路径 以及配置文件main.php的路径。
  4. $yii='E:\web\yii\framework\yii.php';
  5. $config=dirname(__FILE__).'/protected/config/main.php';
  6.  
  7. // 正式环境下应该去掉,以提高性能,打开debug有利于调试
  8. defined('YII_DEBUG'or define('YII_DEBUG',true);
  9. //加载并运行
  10. require_once($yii);
  11. 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. 应用程序建立一个名为SiteControllerSite 控制器(Controller)实例,并执行
  5. SiteController实例通过actionContact方法来执行contact 动作(action)
  6. actionContact方法加载content视图展示给用户。内部实现为加载视图文件/wwwroot/blog/protected/views/site/contact.php,到布局文件/wwwroot/blog/protected/views/layouts/main.php.并填充执行结果。

 原文地址www.diandi.me/home/1-note/68-yiitestdriving

我要啦免费统计