Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。 因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应用, 如门户网站、社区、内容管理系统(CMS)、 电子商务项目和 RESTful Web 服务等。

Yii 当前有两个主要版本:1.1 和 2.0。 1.1 版是上代的老版本,现在处于维护状态。 2.0 版是一个完全重写的版本,采用了最新的技术和协议,包括依赖包管理器 Composer、PHP 代码规范 PSR、命名空间、Traits(特质)等等。

Yii 2.0 需要 PHP 5.4.0 或以上版本支持。

使用 Yii 需要对面向对象编程(OOP)有基本了解,因为 Yii 是一个纯面向对象的框架。

可以通过两种方式安装 Yii:使用 Composer 或下载一个归档文件,推荐使用composer安装,这样只需执行一条简单的命令就可以安装了。

一、安装Yii框架,通过 Composer 安装

1、如果还没有安装 Composer,则先安装 Composer

(1)在 Linux 和 Mac OS X 中可以运行如下命令:

curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer

(2)在 Windows 中,需要去官网下载composer安装程序,下载完成后,运行 Composer-Setup.exe,安装即可。安装完成后,设置好系统的环境变量(如果不知道如何配置composer全局环境变量,百度一下就可以了,网上有很多现成的教程),这样的话,你可以在任何目录下直接使用 composer命令。

2、 如果你已经安装有 Composer 请确保使用的是最新版本, 你可以用 composer self-update命令更新 Composer 为最新版本。

3、安装 Yii

(1)安装basic版本

composer create-project --prefer-dist yiisoft/yii2-app-basic basic

安装完成后,框架目录结构如如下图所示:

(2)安装advanced高级版本

composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced

进入advanced目录,执行init.bat初始化脚本,设置安装的环境,开发环境or生产环境。

安装完成后,框架目录结构如下图所示:

二、配置 Web 服务器

通过上述方法安装的应用程序在 Windows,Max OS X, Linux 中的 Apache HTTP 服务器 或 Nginx HTTP 服务器且PHP版本为5.4或更高都可以直接运行。

(1)Apache 配置

在 Apache 的 httpd.conf文件或在一个虚拟主机配置文件中使用如下配置。 注意,你应该将 path/to/basic/web替换为实际的 basic/web目录。

# 设置文档根目录为 "basic/web"

DocumentRoot"path/to/basic/web"

# 开启 mod_rewrite 用于美化 URL 功能的支持(译注:对应 pretty URL 选项)

RewriteEngineon

# 如果请求的是真实存在的文件或目录,直接访问

RewriteCond%{REQUEST_FILENAME} !-f

RewriteCond%{REQUEST_FILENAME} !-d

# 如果请求的不是真实文件或目录,分发请求至 index.php

RewriteRule . index.php

# if $showScriptName is false in UrlManager, do not allow accessing URLs with script name

RewriteRule ^index.php/ - [L,R=404]

# ...其它设置...

(2)Nginx 配置

server {

listen 80;

server_name mytest.com;

root /path/to/basic/web;

index index.php index.html index.htm;

location / {

index index.php;

autoindex on;

}

if (!-e $request_filename){

rewrite ^/(.*) /index.php last;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

三、访问已安装的Yii框架应用

在确保已搭建好了PHP开发环境,并且Apache或者Nginx、PHP、MySql是开启状态的条件下,访问hostname.com,如果出现如下页面,那么,恭喜你,可以正常使用YII框架,进行你项目的开发了。

四、YII框架的应用请求周期,如下图所示:

1、用户向入口脚本 web/index.php发起请求。

2、入口脚本加载应用配置并创建一个应用 实例去处理请求。

3、应用通过请求组件解析请求的 路由。

4、应用创建一个控制器实例去处理请求。

5、控制器创建一个动作实例并针对操作执行过滤器。

6、如果任何一个过滤器返回失败,则动作取消。

7、如果所有过滤器都通过,动作将被执行。

8、动作会加载一个数据模型,或许是来自数据库。

9、动作会渲染一个视图,把数据模型提供给它。

10、渲染结果返回给响应组件。

11、响应组件发送渲染结果给用户浏览器。

以上就是小编总结的一个YII框架大体的入门流程,仅供参考。

php yii2框架教程,Yii2框架使用快速入门相关推荐

  1. STL教程:C++ STL快速入门

    目录 1.STL引言 2.STL是什么(STL简介) 3.STL历史 4.STL组件 5.STL基本结构 6.STL 使用方法 7.STL目录 网址:STL教程:C++ STL快速入门(非常详细) 第 ...

  2. PR软件入门教程 Adobe Premiere Pro 快速入门指南

    原文(包含图片)链接:https://www.prjianji.com/1.html 了解如何开始使用面向电影制作人.电视节目制作人.新闻记者.学生和视频制作人员的非线性编辑软件 Premiere P ...

  3. Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档

    我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...

  4. 联邦学习框架 FederatedScope(1)快速入门

    新鲜出炉的框架--两个月,暂时没什么教程,全程跟着官方文档走. 框架与文档可能存在一点小问题,以后肯定会改进,一切以当下事实为准. 文章目录 简介 快速入门 下载安装 文档的坑 安装依赖时 独立模式运 ...

  5. python_爬虫 16 Scrapy框架之(二)快速入门

    目录 一.安装和文档: 二.快速入门: 1.创建项目: 2.目录结构介绍: 3.使用Scrapy框架爬取糗事百科段子: 使用命令创建一个爬虫: 爬虫代码解析: 修改settings.py代码: 简单运 ...

  6. 【重温SSM框架系列】1 - Spring快速入门(配置文件及API详解)

    Spring快速入门 Spring是什么 Spring发展历史 Spring的优势 Spring的开发步骤 没有Spring的时候的开发步骤 使用Spring的开发步骤 Spring配置文件(appl ...

  7. netbeans linux 教程,NetBeans IDE Ruby 快速入门教程

    NetBeans IDE Ruby 快速入门教程 本教程提供了在 NetBeans IDE 中开发 Ruby 应用程序的快速入门指南.本教程介绍如何使用 IDE 的 Ruby 支持来执行一些典型的应用 ...

  8. Python教程:网络爬虫快速入门实战解析

    建议: 请在电脑的陪同下,阅读本文.本文以实战为主,阅读过程如稍有不适,还望多加练习. 网络爬虫简介 网络爬虫,也叫网络蜘蛛(Web Spider).它根据网页地址(URL)爬取网页内容,而网页地址( ...

  9. python快速入门教程-终于理解python快速入门教程

    跟Java语言一样,python语言也有类的概念,直接使用class关键字定义python类.在python类,定义类的方法.然后直接使用类的初始化调用自身,获取相应的属性.以下是小编为你整理的pyt ...

  10. Docker容器化技术教程,24小时快速入门

    Docker介绍 Docker简介和安装 Docker是什么 为什么使用Docker 和普通虚拟机的对比 打包.分发.部署 小结 Docker部署的优势 Docker通常用来做什么 重要概念:镜像.容 ...

最新文章

  1. 华硕路由 ac ax_WiFi 6 路由好在哪里,看看华硕AX路由推荐清单吧
  2. 如果年轻,就出发吧!
  3. 前端学习(1494):表格案例--axios-搜索功能
  4. 结对项目 刘静 201303014059 计科高职13-2
  5. Delphi Format函数功能及用法详解
  6. Linux 6安装kde桌面,CentOS 5/6 安装 GNOME 或 KDE 桌面
  7. JSP的9个内置对象-application
  8. rfcv函数实现_OpenSSL AES_ctr128_encrypt()作为伪随机函数在RFC3711(SRTP)
  9. [C++]指针与引用(应用辨析)
  10. win10下安装deepin双系统教程
  11. 线下综合体-中岛店的一些思考
  12. android 虚拟按键遮挡布局,完美解决虚拟按键遮盖底部视图的问题
  13. c语言不用死等的延时函数,matlab延时函数怎么写
  14. 高铁站台怎么找车厢?
  15. C++学习——如何在C++中把map存入一个txtx文件
  16. css3+html5——机器猫哆啦A梦+手、脚、头动起来!
  17. python基础“猜单词游戏”代码
  18. 英国主要跨境电商平台简单介绍
  19. 【免费】小米即时消息云MIMC介绍——免费、简单实现IM
  20. 论文中引用github项目

热门文章

  1. python怎么读发音百度翻译-基于python实现百度翻译功能
  2. java设置列宽_javaexcel如何设置指定列宽
  3. Photoshop 之利用 调整边缘 抠图
  4. 好用的国产远程控制软件,我只推荐这款!
  5. SVN更新的时候前面的U、A、G、R、C是什么意思?
  6. Java 读取图片信息
  7. 高端产品适合在闲鱼引流吗?你需要了解你的客户群是哪些?
  8. EOS内存RAM如何买卖
  9. 转载:微博推荐算法简述
  10. 计算机打不开打印机设备,Win7系统控制面板“设备和打印机”打不开怎么办