yii2框架整体结构

  • Post category:other

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 中创建一个简单的控制器:

  1. app/controllers 目录下创建一个名为 SiteController.php 的文件。
  2. 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 的视图文件。

  1. app/views 目录下创建一个名为 site 的子目录。
  2. site 目录下创建一个名为 index.php 的文件。
  3. 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:

  1. config/web.php 文件中添加以下代码:
$config = [
    // ...
    'modules' => [
        'gii' => [
            'class' => 'yii\gii\Module',
        ],
    ],
    // ...
];

在这个示例中,我们启用了 Gii 模块。

  1. 访问 http://localhost/gii,输入数据库连接信息,然后点击 Generate 按钮。
  2. Model Generator 页面中,输入表名和模型类名,然后点击 Preview 按钮。
  3. CRUD Generator 页面中,输入模型类名和控制器类名,然后点击 Preview 按钮。
  4. 点击 Generate 按钮,Gii 将自动生成模型和 CRUD 代码。

现在,我们可以通过访问 http://localhost/index.php?r=控制器名 来查看生成的 CRUD 页面。

结论

Yii2 框架采用了 MVC 设计模式,提供了丰富的功能和组件,使得开发者可以快速构建高质量的 Web 应用程序。在本攻略中,我们详细讲解了 Yii2 框架的整体结构,并提供了两个示例说明。