YII2框架详解-目录篇

  • 时间:2018-10-05 23:15 作者:im程序猿 来源:im程序猿 阅读:1631
  • 扫一扫,手机访问
摘要:yii2框架的安装我们在之前文章中已经提到下面我们开始理解YII2框架强大的YII2框架网上指南:http://www.yii-china.com/doc/detail/1.html?postid=278或者者http://www.yiichina.com/doc/guide/2.0Yii2的应用结

yii2框架的安装我们在之前文章中已经提到下面我们开始理解YII2框架

强大的YII2框架网上指南:http://www.yii-china.com/doc/detail/1.html?postid=278或者者

http://www.yiichina.com/doc/guide/2.0

Yii2的应用结构:

YII2框架详解-目录篇

目录篇:

YII2框架详解-目录篇

YII2框架详解-目录篇

advance版本的特点是:根目录下预先分配了三个板块,分别是前端、后端、控制台板块。

1.backend

它主要用于管理后端,网站管理员来管理整个系统。

YII2框架详解-目录篇

assets 目录用于存放前台资源包PHP类。 这里不需要理解什么是前台资源包,只需大致知道是用于管理CSS、js等前台资源即可以了。

config 用于存放本应用的配置文件,包含主配置文件 main.php 和全局参数配置文件 params.php 。

models views controllers 3个目录分别用于存放数据模型类、视图文件、控制器类。这个是我们编码的核心,也是我们工作最多的目录。

widgets 目录用于存放少量常用的小挂件的类文件。

tests 目录用于存放测试类。

web 目录从名字可以看出,这是一个对于Web服务器可以访问的目录。 除了这一目录,其余所有的目录不应对Web客户暴露出来。这是安全的需要。

runtime 这个目录是要求权限为 chmod 777 ,即允许Web服务器具备完全的权限, 由于可能会涉及到写入临时文件等。 但是一个目录并未对Web客户可见。也就是说,权限给了,但是并不是Web客户可以访问到的。

2.frontend

YII2框架详解-目录篇

我们的目标最终客户提供的主要接口的前台应用。其实,前端和后端是一样的,只是我们逻辑上的一个划分.。

好了,现在问题来了。对于 frontend backend console 等独立的应用而言, 他们的内容放在各自的目录下面,他们的运作必然用到Yii框架等 vendor 中的程序。 他们是如何关联起来的?这个秘密,或者者说整个Yii应用的目录结构的秘密, 就包含在一个传说中的称为入口文件的地方。

<?phpdefined('YII_DEBUG') or define('YII_DEBUG', true);

defined('YII_ENV') or define('YII_ENV', 'dev');

require(__DIR__ . '/../../vendor/autoload.php');

require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');

require(__DIR__ . '/../../common/config/bootstrap.php');

require(__DIR__ . '/../config/bootstrap.php');

$config = yii\helpers\ArrayHelper::merge(

require(__DIR__ . '/../../common/config/main.php'),

require(__DIR__ . '/../../common/config/main-local.php'),

require(__DIR__ . '/../config/main.php'),

require(__DIR__ . '/../config/main-local.php'));

$application = new yii\web\Application($config);$application->run();

3.console

控制台应用程序包含系统所需要的控制台命令的。

YII2框架详解-目录篇

下面是全局公共文件夹

4.common

YII2框架详解-目录篇

其中:

config 就是通用的配置,这些配置将作用于前后端和命令行。

mail 就是应用的前后端和命令行的与邮件相关的布局文件等。

models 就是前后端和命令行都可能用到的数据模型。 这也是 common 中最主要的部分。

公共的目录(Common)中包含的文件用于其它应用程序之间共享。例如,每一个应用程序可能需要访问该数据库的使用 ActiveRecord。因而,我们可以将AR模型类放置在公共(common)的目录下。同样,假如在多个应用程序中使用了少量辅助(helper )或者部件类(widget ),我们也应该把这些放置在公共目录(common)下,以避免重复的代码。

正如我们将很快解释,应用程序也可以共享一部分的共用配置。因而,我们还可以存储config目录下共同的常见配置。

当开发一个大型项目开发周期长,我们需要不断调整数据库结构。出于这个起因,我们还可以使用数据库迁移(DB migrations )功能来保持跟踪数据库的变化。我们将所有 DB migrations(数据库迁移)目录同样都放在公共(common)目录下面。

5.environment

每个Yii环境就是一组配置文件, 包含了入口脚本 index.php和各类配置文件。 其实他们都放在/environments 目录下面.

YII2框架详解-目录篇

从上面的目录结构图中,可以看到,环境目录下有3个东东:

目录 dev

目录 prod

文件 index.php

其中, dev 和 prod 结构相同,分别又包含了4个目录和1个文件:

frontend 目录,用于前端的应用,包含了存放配置文件的 config 目录和存放web入口脚本的web 目录

backend 目录,用于后端应用,内容与 frontend 相同

console 目录,用于命令行应用,仅包含了 config 目录,由于命令行应用不需要web入口脚本, 因而没有 web 目录。

common 目录,用于各web应用和命令行应用通用的环境配置,仅包含了 config 目录, 由于不同应用不可能共用相同的入口脚本。 注意这个 common 的层级低于环境的层级,也就是说,他的通用,仅是某一环境下通用,并非所有环境下通用。

yii 文件,是命令行应用的入口脚本文件。

对于分散于各处的 web 和 config 目录而言,它们也是有共性的。

但凡 web 目录,存放的都是web应用的入口脚本,一个 index.php 和一个测试版本的index-test.php

但凡 config 目录,存放的,都是本地配置信息 main-local.php 和 params-local.php

6.vendor

YII2框架详解-目录篇

vendor 。 控制台应用程序包含系统所需要的控制台命令,就是各种第三方的程序。 这是Composer安装的其余程序的存放目录,包含Yii框架本身,也放在这个目录下面。 假如你向composer.json 目录添加了新的需要安装的程序,那么下次调用Composer的时候, 就会把新安装的目录也安装在这个 vendor 下面。

下面也是少量不太常用的文件夹

7.vagrant

YII2框架详解-目录篇

8.tests

YII2框架详解-目录篇

资料参考于:https://blog.csdn.net/woshihaiyong168/article/details/53018016

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
【系统环境|】ZORRO佐罗软件安装教程及一键新机使用方法详细简介(2023-02-10 21:56)
【系统环境|】阿里云 centos 云盘扩容命令(2023-01-10 16:35)
【系统环境|】补单系统搭建补单源码搭建(2022-05-18 11:35)
【系统环境|服务器应用】高端显卡再度登上热搜,竟然是因为“断崖式”的降价(2022-04-12 19:47)
手机二维码手机访问领取大礼包
返回顶部