bruninho51 / php-clipboard
PhpClipboard 是一个用于通过数据库生成表单的库。
This package is auto-updated.
Last update: 2024-09-11 14:24:08 UTC
README
PHP库,用于在HTML中创建表单。
安装
首先,需要下载库。可以使用 Composer 来完成此操作
composer require bruninho51/php-clipboard @dev
创建表格
接下来,您需要创建库所需的表格。为此,运行位于 vendor/bruninho51/php-clipboard 的脚本 database.sql。
创建适配器
为了让库能与数据库通信,需要创建一个适配器。适配器必须遵循 IphpClipboardAdapter 接口。在 example 文件夹中,有一个使用 PDO 实现适配器示例的实现。
调用表单
以下是如何生成已注册表单的 HTML 示例
include_once DIR . '/../vendor/autoload.php';
include 'AdapterExample.php';
$adapter = new AdapterExample;
$myClip = new PhpClipboard\PhpClipboard($adapter);
$form = $myClip->getForm(1);
echo $form->getHTML('Action.php', 'default')
- 您需要实例化您的适配器;
- 然后,通过构造函数传递适配器实例来实例化 PhpClipboard;
- 调用 getForm 方法,传入表单 ID。它将返回一个 FormPhpClipboard 类型的对象;
- 有了上面的对象,调用 getHTML 方法,传入表单的 action 和模板名称。
创建表单规则
要创建规则,在 vendor/bruninho51/php-clipboard/roles 文件夹中创建一个类。该类应继承自 RolePhpClipboard 类。需要创建一个名为 role 的方法,其参数名为 $form,类型为 IFormPhpClipboad。在该方法中实现验证。如果发生错误,您应抛出一个异常,该异常将由库处理。
MyProcessPhpClipboard
在数据库中,表单表中存在以下列:processValidateSuccess 和 processValidateFailure。您需要在 vendor/bruninho51/php-clipboard/src/MyProcessPhpClipboard.php 中创建两个方法:一个用于处理表单验证失败的情况,另一个用于处理用户发送的数据通过验证的情况。方法名称应放在相应的列中。MyProcessPhpClipboard 中的处理方法示例
function myProcessExample(FormPhpClipboard $form) {
}
请注意,方法必须有一个 FormPhpClipboard 类型的参数。库将自动注入用户发送的表单。
创建表单模板
表单模板应在 vendor/bruninho51/php-clipboard/templates 文件夹中创建。它们应放在该文件夹的根目录下。模板的上下文是 IphpClipboardTemplate 接口。使用 $this 调用方法。该接口具有获取表单信息(如名称和 ID)以及字段信息的方法。
自定义输入
默认情况下,该库会创建常见的表单输入,但您也可以创建自定义输入。要创建自定义输入,请在 vendor/bruninho51/php-clipboard/templates/components 目录下创建一个模板。模板的上下文是 PhpClipboardComponentEntry 对象。您可以使用该对象的属性和方法来获取表单输入的数据,从而创建您的自定义输入。要访问这些方法,使用 $this。接着,您需要在 vendor/bruninho51/php-clipboard/components 下创建一个类。它应该有命名空间 PhpClipboard\Components,并继承自 PhpClipboardComponentEntry。同时,还需要创建一个名为 $template 的属性,其值是先前创建的模板名称。组件创建完成后,进入数据库注册,在字段表和组件列中放置创建的类名。
实践示例 为了更好的示例,请进入 example 文件夹,位于 vendor/bruninho51/php-clipbord。