zoukankan      html  css  js  c++  java
  • Yii框架2.0的安装过程

    Yii框架是个不错的php开发框架,大型项目上都可以使用。和大多框架一样他也是开源,而且采用了mvc结构的。

    Yii1.*,直接下载然后用脚步可以创建自己的项目了,最近看了下Yii2.0版本的,他推荐用composer来安装。当然也可以用类似1.*版本的安装方式。

    这篇咱们就说说2.0的composer方式安装。

    1、既然是composer方式安装,那就要先有composer了,如果没有的话就自己下载安装,具体可以参考 https://getcomposer.org/doc/00-intro.md#installation-nix 的说明。咱们具体说下window下的常规安装,就是下载 Composer-Setup.exe 然后按普通的下一步就行,期间可能会让你选择下php.exe 文件的位置,安装完成后他会自动把composer的bin目录加入到 系统变量 %path% 里面。

    2、按照Yii Framework中文社区里的说明,接下来就要执行命令 来安装Composer Asset插件,

    php composer.phar global require "fxp/composer-asset-plugin:1.0.0"  

    这个时候会提示有关 composer.phar的问题,解决的办法是采用全路径,比如: 

    php C:ProgramDataComposerSetupincomposer.phar global require "fxp/composer-asset-plugin:1.0.*" 。

    3、接下来就是要安装Yii框架了,他分为基础模板和高级模板,我发现只下载高级模板的话会少很多东西,这个以后研究,所以推荐先现在基础模板。同样会有上面第2条的路径问题,所以命令行大概是这样的:

    php C:ProgramDataComposerSetupincomposer.phar create-project yiisoft/yii2-app-basic basic 2.0.3 。

    他会在你执行此脚本的路径下新建一个 base 目录,然后把框架代码和插件放到这个目录下,期间可能会提示你输入github的账号信息,如果没有的话需要在 https://github.com/ 去申请,很简单的,在我第二次安装的时候没有提示输入,可能是他有记忆功能,把第一次输入的信息记录了,以后直接使用。此过程还可能提示某些问题,例如: 

    Problem 1
    - yiisoft/yii2 2.0.3 requires bower-asset/punycode 1.3.* -> no matching package found.
    - yiisoft/yii2 2.0.2 requires bower-asset/punycode 1.3.* -> no matching package found.
    - yiisoft/yii2 2.0.1 requires bower-asset/punycode 1.3.* -> no matching package found.
    - yiisoft/yii2 2.0.0 requires bower-asset/punycode 1.3.* -> no matching package found.
    - Installation request for yiisoft/yii2 * -> satisfiable by yiisoft/yii2[2.0.0, 2.0.1, 2.0.2, 2.0.3].

    这时就要手动去安装下,可以参考上一条的安装指令。比如我刚才提到的那个问题可以用下面的指令去安装:

    php C:ProgramDataComposerSetupincomposer.phar global require "bower-asset/punycode:1.3.*"

    然后在运行指令脚步: 

    php C:ProgramDataComposerSetupincomposer.phar create-project yiisoft/yii2-app-basic basic 2.0.3

    就不会有问题了。

    4、然后就可以启动nginx或者apache,通过浏览器访问base这个目录了,我做了host和apache的虚拟主机,访问requirements.php的url,类似这样的地址 

    http://yii2.wayne.com/requirements.php。

    然后可以看到当前系统能否支持Yii2.0框架的最低要求,主要是数据库,gd库,memcache缓存等的扩展,大部分可以通过修改php.ini文件解决。对于warning的也不用都解决,看说明,是不是会用到那部分,而且这个在过后还可以通过修改系统来支持的。

    如果conclusion下面有

    Your server configuration satisfies the minimum requirements by this application.

    这句话就说明满足了最小要求。

    5、然后就可以访问 http://yii2.wayne.com/web/ 目录了,这里的index.php是单点接入文件。如果看到 congratulation 就说明成功了。

    6、为了访问方便和安全可以把 basic/web 设为 Web 服务器根目录并配置,然后访问的url就更加简短且舒服了。比如 http://yii2.wayne.com/,请注意下页面最下边有个YiiDebugger,这个显示了一些信息,挺不错的。

    7、我们先大概了解下Yii框架下的主要文件结构

    basic/                  应用根目录
        composer.json       Composer 配置文件, 描述包信息
        config/             包含应用配置及其它配置
            console.php     控制台应用配置信息
            web.php         Web 应用配置信息
        commands/           包含控制台命令类
        controllers/        包含控制器类
        models/             包含模型类
        runtime/            包含 Yii 在运行时生成的文件,例如日志和缓存文件
        vendor/             包含已经安装的 Composer 包,包括 Yii 框架自身
        views/              包含视图文件
        web/                Web 应用根目录,包含 Web 入口文件
            assets/         包含 Yii 发布的资源文件(javascript  css
            index.php       应用入口文件
        yii                 Yii 控制台命令执行脚本

    新的版本里config下多了两个文件params.php 和 db.php,是把params 和 db的参数分离出来,最终还是包含在web.php 文件里的。

    一般来说,应用中的文件可被分为两类:在 basic/web 下的和在其它目录下的。前者可以直接通过 HTTP 访问(例如浏览器),后者不能也不应该被直接访问。

    Yii 实现了模型-视图-控制器 (MVC)设计模式,这点在上述目录结构中也得以体现。 models 目录包含了所有模型类,views 目录包含了所有视图脚本,controllers 目录包含了所有控制器类。

    默认控制器事 site 控制器,也可以在配置文件 web.php 里配置: 

    'defaultRoute' => 'main',

    以下图表展示了一个应用的静态结构:

    每个应用都有一个入口脚本 base/web/index.php,这是整个应用中唯一可以访问的 PHP 脚本。入口脚本接受一个 Web 请求并创建应用实例去处理它。 应用在它的组建辅助下解析请求,并分派请求至 MVC 元素。视图使用小部件去创建复杂和动态的用户界面。

    请求生命周期
    以下图表展示了一个应用如何处理请求:

    1. 用户向入口脚本 base/web/index.php 发起请求。
    2. 入口脚本加载应用配置并创建一个应用实例去处理请求。
    3. 应用通过请求组件解析请求的路由。
    4. 应用创建一个控制器实例去处理请求。
    5. 控制器创建一个操作实例并针对操作执行过滤器。
    6. 如果任何一个过滤器返回失败,则操作退出。
    7. 如果所有过滤器都通过,操作将被执行。
    8. 操作会加载一个数据模型,或许是来自数据库。
    9. 操作会渲染一个视图,把数据模型提供给它。
    10. 渲染结果返回给响应组件。
    11. 响应组件发送渲染结果给用户浏览器。

    还有更详细的文档参考官方的说明 http://www.yiichina.com/doc/guide/2.0/start-installation

  • 相关阅读:
    android手机开发网
    Android 使用Google Weather制作天气预报程序
    android反编译xml文件
    在线MSDN
    工作的思考一:业务流和工作管理
    .NET Remoting技术文章汇总
    学习之路十四:客户端调用WCF服务的几种方法小议
    工作的思考二:无效的沟通
    ADO.NET 全面梳理
    工作的思考三:工作质量,计划制定,沟通交流
  • 原文地址:https://www.cnblogs.com/wayne173/p/4365837.html
Copyright © 2011-2022 走看看