返回
在创新的思维中,Yii2 也能搭建一个简单的 Todo List
后端
2023-10-31 16:09:48
Yii 是一个功能强大的 PHP 框架,可以用来开发现代 Web 应用程序。它的组件化和高性能的特性,使得它成为构建复杂应用程序的理想选择。今天,我将以一个简单的 Todo List 系统作为例子,来带你体验 Yii 的开发过程。
搭建环境
在开始之前,你需要确保你的系统已经安装了以下软件:
- PHP 7.2 或更高版本
- Composer
- MySQL 或 PostgreSQL 数据库
- 一个文本编辑器或 IDE
安装 Yii
首先,你需要通过 Composer 来安装 Yii。你可以使用以下命令:
composer create-project --prefer-dist yiisoft/yii2-app-basic todo-list
这将创建一个名为 todo-list
的目录,其中包含了 Yii 的基本应用程序。
配置数据库
接下来,你需要配置数据库。你可以通过编辑 config/db.php
文件来完成。在这个文件中,你需要指定数据库的类型、主机名、用户名、密码和数据库名称。
例如,如果你使用的是 MySQL 数据库,你可以使用以下配置:
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=todo-list',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
];
创建模型
现在,你需要创建一个模型来表示 Todo 项目。你可以通过在 models
目录下创建一个名为 Todo.php
的文件来完成。在这个文件中,你需要定义模型的属性和方法。
例如,你可以使用以下代码来定义 Todo 模型:
<?php
namespace app\models;
use yii\db\ActiveRecord;
class Todo extends ActiveRecord
{
public $id;
public $title;
public $description;
public $status;
public static function tableName()
{
return 'todos';
}
public function rules()
{
return [
[['title', 'description'], 'required'],
[['status'], 'default', 'value' => 0],
];
}
}
创建控制器
接下来,你需要创建一个控制器来处理 Todo 项目的请求。你可以通过在 controllers
目录下创建一个名为 TodoController.php
的文件来完成。在这个文件中,你需要定义控制器的动作和方法。
例如,你可以使用以下代码来定义 Todo 控制器:
<?php
namespace app\controllers;
use app\models\Todo;
use yii\web\Controller;
class TodoController extends Controller
{
public function actionIndex()
{
$todos = Todo::find()->all();
return $this->render('index', ['todos' => $todos]);
}
public function actionCreate()
{
$todo = new Todo();
if ($todo->load(Yii::$app->request->post()) && $todo->save()) {
return $this->redirect(['index']);
}
return $this->render('create', ['todo' => $todo]);
}
public function actionUpdate($id)
{
$todo = Todo::findOne($id);
if ($todo->load(Yii::$app->request->post()) && $todo->save()) {
return $this->redirect(['index']);
}
return $this->render('update', ['todo' => $todo]);
}
public function actionDelete($id)
{
$todo = Todo::findOne($id);
$todo->delete();
return $this->redirect(['index']);
}
}
创建视图
最后,你需要创建视图来显示 Todo 项目。你可以通过在 views
目录下创建以下文件来完成:
index.php
:用于显示 Todo 项目列表create.php
:用于创建新的 Todo 项目update.php
:用于更新现有