Yii2 是一个高性能的 PHP 框架,它采用了 MVC 设计模式,提供了丰富的功能和组件,使得开发者可以快速构建高质量的 Web 应用程序。在本攻略中,我们将详细讲解 Yii2 框架的整体结构,并提供两个示例说明。
Yii2 框架整体结构
Yii2 框架的整体结构如下:
app/ 应用程序目录
assets/ 应用程序资源文件
commands/ 命令行脚本
components/ 应用程序组件
config/ 应用程序配置文件
controllers/ 控制器
models/ 模型
runtime/ 运行时文件
views/ 视图文件
web/ Web 入口文件
vendor/ 第三方依赖库
tests/ 测试文件
下面我们将逐一介绍这些目录的作用。
app 目录
app
目录是应用程序的根目录,包含了应用程序的所有文件。下面是 app
目录下的子目录:
assets
:应用程序资源文件,如 CSS、JavaScript、图片等。commands
:命令行脚本,用于执行一些后台任务。components
:应用程序组件,如数据库连接、缓存、邮件发送等。config
:应用程序配置文件,包括数据库配置、路由配置、组件配置等。controllers
:控制器,用于处理用户请求。models
:模型,用于与数据库交互。runtime
:运行时文件,如日志、缓存等。views
:视图文件,用于渲染用户界面。web
:Web 入口文件,如index.php
。
vendor 目录
vendor
目录是第三方依赖库的存放目录,包括 Yii2 框架本身和其他第三方库。
tests 目录
tests
目录是测试文件的存放目录,包括单元测试、功能测试等。
示例1:创建一个简单的控制器
以下是一个示例,展示如何在 Yii2 中创建一个简单的控制器:
- 在
app/controllers
目录下创建一个名为SiteController.php
的文件。 - 在
SiteController.php
文件中编写以下代码:
<?php
namespace app\controllers;
use yii\web\Controller;
class SiteController extends Controller
{
public function actionIndex()
{
return $this->render('index');
}
}
在这个示例中,我们创建了一个名为 SiteController
的控制器,并在其中定义了一个名为 actionIndex
的操作。actionIndex
操作返回一个名为 index
的视图文件。
- 在
app/views
目录下创建一个名为site
的子目录。 - 在
site
目录下创建一个名为index.php
的文件。 - 在
index.php
文件中编写以下代码:
<?php
use yii\helpers\Html;
$this->title = 'My Yii Application';
?>
<div class="site-index">
<div class="jumbotron">
<h1><?= Html::encode($this->title) ?></h1>
<p class="lead">Congratulations! You have successfully created your Yii-powered application.</p>
<p><a class="btn btn-lg btn-success" href="http://www.yiiframework.com">Get started with Yii</a></p>
</div>
</div>
在这个示例中,我们创建了一个名为 index
的视图文件,并在其中定义一个简单的 HTML 页面。
现在,我们可以通过访问 http://localhost/site/index
来查看这个页面。
示例2:使用 Gii 生成模型和 CRUD
以下是一个示例,展示如何使用 Gii 生成模型和 CRUD:
- 在
config/web.php
文件中添加以下代码:
$config = [
// ...
'modules' => [
'gii' => [
'class' => 'yii\gii\Module',
],
],
// ...
];
在这个示例中,我们启用了 Gii 模块。
- 访问
http://localhost/gii
,输入数据库连接信息,然后点击Generate
按钮。 - 在
Model Generator
页面中,输入表名和模型类名,然后点击Preview
按钮。 - 在
CRUD Generator
页面中,输入模型类名和控制器类名,然后点击Preview
按钮。 - 点击
Generate
按钮,Gii 将自动生成模型和 CRUD 代码。
现在,我们可以通过访问 http://localhost/index.php?r=控制器名
来查看生成的 CRUD 页面。
结论
Yii2 框架采用了 MVC 设计模式,提供了丰富的功能和组件,使得开发者可以快速构建高质量的 Web 应用程序。在本攻略中,我们详细讲解了 Yii2 框架的整体结构,并提供了两个示例说明。