在整体的代码库只有一个文件夹公开发布到Web服务器。它就是web目录。Web根目录目录之外的其他文件夹Web服务器不可触碰的。
	
注 - 所有项目依赖位于composer.json文件。Yii2已经由 Composer 几个重要的软件包包含在你的项目中。这些包有以下几种-
- 
			GII - 代码生成工具
- 
			调试控制台
- 
			Codeception测试框架
- 
			SwiftMailer库
- 
			Twitter Bootstrap UI库
		前三个包只在开发环境中有用。
	
	
		Yii2的应用程序结构是精确的,明确的。它包含以下文件夹 -
	
	- 
			assets - 此文件夹包含在网页中引用的所有 .js和.css文件
- 
			commands - 此文件夹包括可从终端中使用的控制器
- 
			config - 此文件夹包含配置文件用于管理数据库,应用程序和应用参数
- 
			mail - 此文件夹包含邮件布局
- 
			models - 该文件夹包函在应用程序中使用的模型
- 
			runtime − 此文件夹是用于存储运行时数据 
- 
			tests − 此文件夹包含所有的测试(验收,单元测试,功能) 
- 
			vendor - 此文件夹包含由Composer提供所有的第三方软件包。
- 
			views − 此文件夹为视图文件夹目录,由控制器显示。layout 文件夹是用于页面模板 
- 
			web − 网站入口点 
		
			应用程序结构
		
	
	
		以下是应用程序的结构示意图。

	
	
Yii2 – 对象
		下面的列表包含了所有Yii2的对象 -
	
	模型,视图和控制器
模型数据表示(通常从数据库)。视图是用于显示的数据。控制器是用于处理请求和产生响应。
组件 - Components
创建一个可重复使用的功能,用户可以编写自己的组件。组件只是包含逻辑对象。例如,组件可以是一个重量转换器。
应用程序组件 - Application components
这些都是在整个应用只实例化的一个对象。 组件和应用组件之间的主要区别是,后者在整个应用程序只有一个实例。
小工具 - Widgets
		Widget是含有逻辑和渲染代码可重用的对象。一个小部件可以是,例如,一个画廊滑块。
	
	过滤器 -Filters
		过滤器是在控制器动作的执行之前或之后运行的对象。
	
	模块 - Modules
		可以认为模块就是可重用的子应用程序,包括模型,视图,控制器等等。
	
	扩展 - Extensions
		扩展是可以由 Composer 来管理的软件包。
	
