使用PDO高级CRUD生成器工具快速构建PHP CRUD接口

在本文中,我们将回顾PDO CRUD(一种表单生成器和数据库管理工具) 。 PDO CRUD只需几行代码即可帮助您为数据库表构建表单,从而快速,轻松地引导数据库应用程序。

有许多扩展可用于数据库抽象,尤其是PHP和MySQL的CRUD(创建,读取,更新和删除)生成。 当然,您还将找到提供现成的功能和扩展支持的商业选项。 对于商业选项,您还可以期待高质量的代码,错误修复和新的增强功能。

今天,我们将讨论CodeCanyon上以合理价格购买的PDO CRUD工具。 它是一个完整的CRUD构建器工具,可让您仅通过提供数据库表并编写几行代码来构建应用程序。

它可以与多个数据库后端一起使用,包括MySQL,Postgres和SQLite。 在本文中,我们将看到如何使用PDO CRUD来构建带有MySQL数据库后端的CRUD系统。

安装与配置

在本节中,我们将了解从CodeCanyon购买和下载PDO CRUD工具后,如何安装和配置它。

购买后,您就可以下载该zip文件。 解压缩它,您将找到带有主要插件代码的目录: PDOCrud / script 。 将此目录复制到您的PHP应用程序。

例如,如果在/ web / demo-app / public_html上配置了项目,则应将脚本目录复制到/ web / demo-app / public_html / script

接下来,您需要在配置文件中输入数据库后端详细信息。 配置文件位于/web/demo-app/public_html/script/config/config.php 。 在您喜欢的文本编辑器中打开该文件,然后更改该文件中的以下详细信息。

$config["script_url"] = "https://my-demo-app";
/************************ database ************************/
//Set the host name to connect for database
$config["hostname"] =  "localhost";
//Set the database name
$config["database"] = "demo_app_db";
//Set the username for database access
$config["username"] = "demo_app";
//Set the pwd for the database user
$config["password"] = "demo_app";
//Set the database type to be used
$config["dbtype"] = "mysql"

如您所见,细节是不言自明的。 $config["script_url"]设置为用于访问站点的URL。

保存数据库详细信息后,就可以使用PDO CRUD工具了。 在我们的示例中,我们将创建两个保存员工和部门数据的MySQL表。

  • 员工 :保存员工信息
  • 部门 :保存部门信息

打开数据库管理工具,然后运行以下命令来创建表,如上所述。 我使用PhpMyAdmin与MySQL数据库后端一起使用。

首先,让我们创建部门表。

CREATE TABLE `department` (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `department_name` varchar(255) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

接下来,我们将创建employee表。

CREATE TABLE `employee` (
  `id` int(12) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `dept_id` int(11) UNSIGNED NOT NULL,
  `first_name` varchar(255) NOT NULL DEFAULT '',
  `last_name` varchar(255) NOT NULL DEFAULT '',
  `email` varchar(255) NOT NULL DEFAULT '',
  `phone` varchar(255) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

如您所见,我们在employee表中使用了dept_id列,该列保存存储在department表中的相应部门的id。

在数据库中创建表之后,我们就可以使用PDO CRUD工具构建CRUD应用程序界面了!

如何设置基本CRUD

在本节中,我们将看到如何通过编写几行代码来使用PDO CRUD工具设置基本的CRUD接口。

部门表

我们将从部门表开始。

让我们创建具有以下内容的department.php 。 如果您的文档根目录为/ web / demo-app / public_html / ,请在/web/demo-app/public_html/department.php中创建department.php文件。 回想一下,我们已经将脚本目录复制到/ web / demo-app / public_html / script

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
echo $pdocrud->dbTable("department")->render();

现在,如果将浏览器指向department.php文件,则应该看到类似以下内容:

空白部门视图

! 仅需两行代码,您就可以使用现成的CRUD UI,该UI允许您在模型上执行所有必要的创建,读取,更新和删除操作。 更不用说默认列表视图本身包含许多功能,包括:

  • 搜索
  • 内置分页
  • 打印
  • 将记录导出为CSV,PDF或Excel格式
  • 批量删除操作
  • 按列排序

单击右侧的“ 添加”按钮,它将打开表单以添加部门记录。

新增检视

让我们使用“ 添加”按钮添加一些记录,并查看其外观。

列表显示

如您所见,这是一个非常轻巧简洁的界面。 我们几乎不费吹灰之力就为部门模型建立了CRUD! 接下来,我们将看到如何对employee表执行相同的操作。

员工表

在本节中,我们将看到如何为employee表构建CRUD。 让我们创建具有以下内容的employee.php

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
echo $pdocrud->dbTable("employee")->render();

与上次代码几乎相同; 我们只需要更改表的名称。 如果单击“ 添加”按钮,它还会为您带来一个漂亮的表格,该表格可让您添加员工记录。

新增员工

您可能已经发现了一个问题:“ 部门ID”字段是一个文本字段,但最好是包含部门名称的下拉列表。 让我们看看如何实现这一目标。

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();

// get departments
$data =  $pdocrud->getPDOModelObj()->select("department");
$options = array();
foreach($data as $record) {
    $options[$record['id']] = $record['department_name'];
}

// change the type of the dept_id field from textfield to select dropdown
$pdocrud->fieldTypes("dept_id", "select");
$pdocrud->fieldDataBinding("dept_id", $options, "", "","array");

echo $pdocrud->dbTable("employee")->render();

在此代码中,我们已通过PDO CRUD访问了部门表,因此我们可以将部门名称与部门ID相关联。 然后,我们更新了部门ID字段的绑定选项,以使其呈现为下拉列表( select )。

现在,单击“ 添加”按钮以查看外观! 您应该看到Dept Id字段现在已转换为下拉列表!

下拉演示

让我们添加一些员工记录,并查看员工列表的外观:

员工观点

看起来不错! 但是,这里还有另一个小问题:您可以看到“ 部门ID”列显示部门的ID,最好显示实际的部门名称。 让我们了解如何实现这一目标!

让我们用以下内容修改employee.php的代码。

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();

// change the type of the dept_id field from textfield to select dropdown
$data =  $pdocrud->getPDOModelObj()->select("department");
$options = array();
foreach($data as $record) {
    $options[$record['id']] = $record['department_name'];
}
$pdocrud->fieldTypes("dept_id", "select");
$pdocrud->fieldDataBinding("dept_id", $options, "", "","array");

$pdocrud->crudTableCol(array("first_name","last_name", "department_name", "email","phone"));
$pdocrud->joinTable("department", "employee.dept_id = department.id", "INNER JOIN");
echo $pdocrud->dbTable("employee")->render();

在这里,我们已经创建了员工和部门表之间的连接用$pdocrud->joinTable ,然后告诉PDO CRUD只渲染员工姓名,部门名称,并与联系信息$pdocrud->crudTableCol

进行此更改后,员工列表应如下所示:

参考员工

如您所见,PDO CRUD脚本非常灵活,并且允许您使用所有可能的选项来自定义UI。

到目前为止,我们已经讨论了如何设置基本的CRUD接口。 在下一部分中,我们将看到更多选项,可用于增强和定制CRUD UI。

定制选项

在本节中,我们将看到PDO CRUD工具提供的一些自定义选项。 当然,不可能使用所有选项,因为PDO CRUD工具所提供的功能远远超出我们在单篇文章中所涵盖的范围,但是我将尝试强调几个重要的选项。

内联编辑

内联编辑是最重要的功能之一,可让您在列表页面本身上快速编辑记录。 让我们看看如何在部门列表页面上启用它。

让我们修改以下代码段所示的department.php脚本。

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
$pdocrud->setSettings("inlineEditbtn", true);
echo $pdocrud->dbTable("department")->render();

如您所见,我们刚刚启用了inlineEditbtn设置,并且立即有内联编辑功能!

内联编辑

这是一个非常方便的功能,可让您即时编辑记录!

筛选器

您可能已经注意到,部门列表页面已经提供了自由文本搜索来过滤记录。 但是,您可能需要添加自己的自定义过滤器以改善搜索功能。 这正是“ 过滤器”选项所提供的,因为它允许您构建自定义过滤器!

我们将使用employee.php实现此功能,因为它是完美的演示用例。 在员工列表页面上,我们正在显示每个员工记录的部门名称,因此让我们构建一个部门过滤器,该过滤器可让您按部门名称过滤记录。

继续并修改您的employee.php ,如以下代码片段所示。

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();

$data =  $pdocrud->getPDOModelObj()->select("department");
$options = array();
foreach($data as $record) {
    $options[$record['id']] = $record['department_name'];
}
$pdocrud->fieldTypes("dept_id", "select");//change state to select dropdown
$pdocrud->fieldDataBinding("dept_id", $options, "", "","array");//add data using array in select dropdown

$pdocrud->crudTableCol(array("first_name","last_name", "department_name", "email","phone"));
$pdocrud->joinTable("department", "employee.dept_id = department.id", "INNER JOIN");
$pdocrud->addFilter("department_filter", "Department", "dept_id", "dropdown");
$pdocrud->setFilterSource("department_filter", $options, "", "", "array");
echo $pdocrud->dbTable("employee")->render();

我们刚刚添加了两行,分别调用addFiltersetFilterSource ,雇员列表如下所示:

筛选器

那不是很酷吗? 仅用两行代码,您就添加了自定义过滤器!

图片上传

如果您希望在表单中设置文件上传,则这是一项必备功能。 只需一行代码,您就可以将常规字段转换为文件上传字段,如以下代码片段所示。

我假设您的雇员表中有一个profile_image字段,并且已经准备好将其转换为文件上传字段!

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud();
$pdocrud->fieldTypes("profile_image", "image");
echo $pdocrud->dbTable("employee")->render();

而已! 用户现在可以将图像上传到profile_image字段。

验证码

如今,如果您想避免垃圾邮件散发网站,则验证码验证是必不可少的功能。 PDO CRUD工具已经提供了两个选项供您选择。

它提供了两个选项:CAPTCHA和ReCAPTCHA。 如果选择CAPTCHA选项,它将为用户提供数学难题。 另一方面,如果选择ReCAPTCHA选项,则会显示一个著名的“ 我不是机器人难题”!

如果要添加简单的验证码难题,则需要在呈现CRUD之前添加以下行。

$pdocrud->formAddCaptcha("captcha");

另一方面,如果您更喜欢ReCAPTCHA,则可以使用以下代码片段实现相同的目的。

$pdocrud->recaptcha("your-site-key","site-secret");

您只需要用Google提供的有效凭据替换your-site-keysite-secret参数即可。

到目前为止,我们已经讨论了增强应用程序功能的选项。 接下来,我们将看到如何改变皮肤,从而改变应用程序的外观。

皮肤

如果您不喜欢默认外观,则可以选择两个选项。 PDO CRUD工具提供了深色,白皙,绿色和高级皮肤作为其他可供选择的选项。

例如,下面的清单基于绿色主题。

绿色主题

看起来不错,不是吗?

纯靴子

尽管默认外观已经支持响应式布局,但是PDO CRUD工具还支持Bootstrap库集成!

如果您希望使用Bootstrap库构建布局,则需要使用以下代码段。

<?php
require_once "script/pdocrud.php";

$pdocrud = new PDOCrud(false, "pure", "pure");
echo $pdocrud->dbTable("department")->render();

这是它的样子:

引导主题

结论

今天,我们回顾了CodeCanyon上提供的PDO CRUD高级数据库表单生成器和数据管理工具 。 这是CRUD应用程序界面构建器工具的核心。 它提供了各种定制选项,几乎涵盖了CRUD系统所需的所有内容。

正如我之前说的,在一篇文章中很难涵盖PDO CRUD工具提供的所有内容,但是希望官方文档应该使您对它的全面功能有所了解。

我希望您相信PDO CRUD工具功能强大,足以满足您的要求,并且使您摆脱了每次想要在应用程序中设置CRUD时必须做的重复工作。 尽管它是一个商业插件,但考虑到它提供的众多功能,我认为它的价格合理。

如果您有任何建议或意见,请随时使用下面的提要,我们很乐意与您进行对话!

翻译自: https://code.tutsplus.com/tutorials/quickly-build-a-php-crud-interface-with-the-pdo-advanced-crud-generator-tool--cms-32367

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值