在靠近用户的地方部署容器
本工程教育(EngEd)计划由科支持。
在全球范围内即时部署容器。Section是经济实惠、简单而强大的。
免费开始。
使用GII的YII2框架进行CRUD操作
6月18日, 2021
- 主题。
- 语言
曾经与数据库打过交道的程序员都有可能使用过CRUD操作。当开发者想要学习任何网络框架时,这些操作是非常重要的。
在这篇文章中,我们将学习如何使用YII 2框架进行CRUD操作。
什么是CRUD?
CRUD的缩写是Create、Read、Update和Delete。
上述各项的功能如下所示。
- **创建:**通过执行
INSERT流程创建一条新记录。 - **读取:**读取一个单一的记录。
- 更新:更新一条记录。
- 删除:删除一条记录。
什么是GII?
GII是一个YII模块,为CRUD操作生成代码。在YII 2框架中,GII默认由localhost访问,并且该模块在浏览器中访问。
前提条件
本教程假设你有。
- Xampp安装在你的机器上。如果没有,请按照以下步骤进行安装。这将与PhpMyAdmin一起出现,我们将用它来管理我们的数据库记录。
安装Xampp后,将在Linux操作系统中创建一个文件夹/opt/lampp 。我们以后将使用这个文件夹来创建我们的YII项目。
- YII 2已经安装。如果没有,请参考本教程,了解如何下载它。
目标
在这篇文章中,我们将做以下工作。
- 创建一个名为CRUD的YII项目。
- 使用终端创建一个简单的数据库记录。
- 使用GII操作CRUD。
- 使用GII在数据库中存储数据。
让我们开始吧。
步骤1 - 创建一个YII CRUD项目
- 导航到下载YII档案文件的文件夹。在我的例子中,它是在Downloads中下载的。
- 将这个归档文件移到
/opt/lampp/htdocs。要移动它,用终端打开Downloads文件夹并输入。
$ sudo mv yii-advanced-app-2.0.42.tgz /opt/lampp/htdocs
- 用终端打开
/optlampp/htdocs。输入这个命令来打开。
$ sudo /opt/lampp/htdocs
在/optlampp/htdocs ,键入下面的命令。
$ sudo tar -xvzf yii-advanced-app-2.0.42.tgz
这个命令将解压Yii文件并生成一个名为advanced 的新文件夹。
- 通过导航到
advanced文件夹。
$ cd advanced
运行下面的命令。
$ sudo php init
这条命令将在advanced 中初始化你的项目。选择选项0。
- 要将这个项目重命名为CRUD项目,请打开
/opt/lampp/htdocs,并输入。
$ sudo mv advanced CRUD
你已经创建了一个名为CRUD的YII项目。祝贺你!
请确保在运行你的项目之前启动你的服务器。
通过输入以下命令启动服务器。
$ sudo /opt/lampp/lampp start
点击这里,了解如何启动服务器。
为了验证你已经创建了一个项目,打开你的浏览器并输入http://localhost/CRUD/frontend/web 。这是你应该看到的。

第2步:将CRUD项目与数据库连接起来
用你喜欢的代码编辑器打开CRUD 项目,并导航到common > config > mainlocal.php 。修改代码,使其看起来像这样。
<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=CRUD',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => true,
],
],
];
在上面的代码中,我们已经把dbname 的名字从yiiadvanced 改为CRUD 。通过这样做,我们已经把我们的项目与数据库连接起来了。
第3步:创建一个简单的数据库记录
现在让我们使用终端在我们的数据库中创建一个表。点击这里了解如何创建一个数据库和一个表,然后创建一个名为CRUD 的数据库和一个名为student 的表。
第四步:使用GII进行CRUD操作
打开你的浏览器,输入http://localhost/CRUD/frontend/web/index.php?r=gii 。如果没有错误,你应该看到一个像下面这样的欢迎页面。

夸奖!你现在已经准备好使用GII模块了。
现在,让我们用GII来为我们的student 表生成代码。
- 点击
start上的Model Generator。这将打开一个类似下面的页面。

我们需要填写空白处。让我们来做吧。
表名 -Students 。
模型类名称 -Students 。
名称空间--这里我们要把路径从apps\models 改为frontend\models 。
点击Preview 。你会得到一个像下面这样的页面。

现在点击Generate ,你会在页面的底部看到一个祝贺的说明。
- 点击
CRUD GENERATOR,并填写空白处,如下图所示。

现在点击Generate 。如果成功了,在底部你会看到 "代码已经生成 "的信息。你还会看到创建的文件列表。
使用GII在数据库中存储数据
在这一点上,我们将开始我们的CRUD操作。
我们的GII现在已经准备好在数据库中存储数据。让我们创建一个简单的记录并将其存储在数据库中。在你的浏览器中打开http://localhost/CRUD/frontend/web/index.php?r=student%2Fcreate 。
如下图所示,填入空白处,然后点击保存。

从缩写CRUD中,我们已经看到了字母C 的功能,即CREATE。点击保存后,我们将使用字母R 的功能,即阅读。
在这里,你将打开一个页面,里面有你创建的所有记录。你应该只有一条记录,因为我们只有一条记录。它应该看起来像下面这样。

创建另一条记录,因为当我们进入字母D ,我们将不得不删除一条记录。
在你的数据库中,你应该有这样的记录。

让我们转到代表更新的字母U 。正如我们前面所说,我们根据主键来更新一条记录。让我们用主键 "1 "来更新我们的第一条记录。点击UPDATE ,更新如下。

保存你的更新,并导航到数据库,查看变化。
让我们删除有主键 "2 "的第二条记录。由于你是在记录 "1 "上工作,浏览你的URL,将id从id = 1 改为id = 2 ,刷新你的浏览器。
点击Delete 按钮。然后在你屏幕上出现的确认弹窗上点击Ok 。
你将只有一条记录,如下图所示。该记录在数据库中也被删除。

哇!...CRUD操作完成了。👏
要查看GII为CRUD的功能所产生的文件,请打开。
- 视图。
htdocs > CRUD > frontend > views > student
- 模型。
htdocs > CRUD > frontend > models > Student.php
- 控制器。
htdocs > CRUD > frontend > controllers > StudentController.php
你可以定制这些文件以满足你的需要。
理解URL
我们的URL看起来相当混乱😕。让我们看看下面这个URL。
http://localhost/CRUD/frontend/web/index.php?r=student%2Fcreate
r 是我们应用程序的路由, 是控制器, 是动作。student create
总结
CRUD是持久性存储的基本操作,对网络应用程序开发员来说非常重要。它节省了开发人员的时间,也减少了开发人员所要写的代码量。
编码愉快!🙂
同行评审的贡献者。Peter Kayere
类似文章
[

语言
如何创建一个可重复使用的React表单组件
阅读更多

语言, Node.js
用Next.js构建一个薪资系统
阅读更多

架构
在Django中创建和使用装饰器
阅读更多