Yii2框架(一)安装及目录结构

如题:对,你要相信自己的眼睛,你没看错确实是Yii2框架。

现在都2020年了,刚刚开始折腾Yii2框架难免有些过时,但是没办法,公司目前的项目是基于Yii2开发的,嘿,你说怎么这么巧,我还没用过Yii2框架。

没办法,看手册呗。这玩意,万变不离其宗,总归还是PHP。

之前用的多的大概就是thinkphp,从3到5再到目前的6,也是这样一步步过来的。

Yii与thinkphp相比一定是有其独到的地方的。

稍老的框架的好处就是,官方文档的bug可能是少一点,开发过程中遇到的问题,面向百度的时候可能答案更多一点。

不说那么多废话了,这个算是我在看yii2手册及实践过程中的一个笔记吧,可能不会太详细,也可能不会有太多的篇幅去介绍整个yii框架,我这里也许只能记录我觉得有用的东西。当然,每个人的视角是不一样的,有遗漏或者不足的地方,还请各位大神补充,谢谢。

一:获取框架源码

首先我们先获取yii2框架的源码,根据官方文档给出的方法,使用composer,关于composer的使用方法,如果不了解,请移步《windows安装及使用composer》《linux安装及使用composer》

这里需要注意一下,Yii2.0分为两个版本,basic(基础版)和advanced(高级版)这个官方手册中我是没有找到的。

1:Basic基础版本composer下载Yii2命令为:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
2:advanced高级版本composer下载yii2命令为:
composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced

这个过程中如果网不好可能会出现报错,做这个动作的时候一定要选择网好的时候,我都被坑惨了。

当然,如果你不喜欢用composer,也无所谓,可以去github下载框架的压缩包,地址如下:

https://github.com/yiisoft/yii2-app-advanced

高级版人家是自带数据库的。

进入advanced目录,在当前目录下打开cmd,执行:

php init

输入0

再输入yes

在这里插入图片描述

安装数据库:

Yii2.0框架是不会帮你创建数据库的,因此,你需要自己创建一个数据库,配置到框架的配置文件中,数据库配置文件在框架根目录下\common\config\main-local.php中。

在这里插入图片描述

执行命令:

yii migrate

在这里插入图片描述

部署我这里就不写了,本地我使用的是windows宝塔,服务器是lnmp,正常配置就可以了

唯一需要说的,他的入口是yii2\web\index.php,配置访问的时候可能需要注意一下。

二:目录结构

这个也是分两个部分来说basic基本版和basic高级版

1:basic版本

在这里插入图片描述

有用的基本上就是上边的目录,下边那些乱七八糟的文件,理论上在开发中是没有用的,问题不大。

官方给出的目录结构:应用中最重要的目录和文件

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 控制台命令执行脚本

这个是单应用的框架,上边各个目录的介绍已经很清晰,这里不再赘述。

我这里对这款单应用的基本Yii2.0框架,不做深研究,目前公司用的advancsd版本。

但是万变不离其宗。

2:advanced版本

在这里插入图片描述

Advanced高级版本的Yii2.0框架目录看起来要简洁很多,官方给出的目录机构为:

Common                     公共文件模块(配置,类)

    config/              包含共享配置

    mail/                包含电子邮件的视图文件

    models/              包含后端和前端中使用的模型类

    tests/               包含公共类的测试   

console                控制台文件模块

config/              包含控制台配置

controllers/        包含控制台控制器(命令)

migrations/         包含数据库迁移

models/              包含控制台特定的模型类

runtime/             包含运行时生成的文件

runtime                缓存文件模块(linux部署需要这个模块可写)

backend               后端独立应用模块

    assets/              包含应用程序资产,如JavaScript和CSS JavaScript and CSS

    config/              包含后端配置

    controllers/        包含Web控制器类

    models/              包含后端特定的模型类 classes

    runtime/             包含运行时生成的文件

    tests/               包含后端应用程序的测试   

    views/               包含Web应用程序的视图文件

    web/                 包含条目脚本和web资源

frontend               前端独立应用模块

assets/              包含应用程序资产,如JavaScript和CSS   

config/              包含前端配置

    controllers/          包含Web控制器类

    models/              包含前端特定的模型类

    runtime/             包含运行时生成的文件

tests/               包含前端应用程序的测试

views/               包含Web应用程序的视图文件

web/                 包含条目脚本和web资源

widgets/         包含前端小部件

vendor/          包含依赖第三方软件包

environments/    包含基于环境的覆盖

以上就是官方给出的官方觉得重要的各个目录对应存放文件的类型。

这个高级版的项目中有两个独立的应用,怎么说呢,就是可以独立配置域名的两个应用,这个要区别于thinkphp,thinkphp在applocation中对应的应用可以建立多个,入口文件也可以根据你的需求为每个应用独立出一个入口文件,但是,其只能配置一个域名,后边来对应不同的入口文件,访问对应的应用模块,我觉得这个可能是Yii-advanced比较高明的一点。

剩下的,可能就没有什么太多可说的了。其中的文件,接下来的时间,我们一个一个来对应。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客
https://guanchao.site

欢迎访问小程序:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值