cyril-verloop/datatables

一个用于与PHP 8.1+一起使用DataTable的库。

4.0.0 2022-11-25 09:56 UTC

This package is auto-updated.

Last update: 2024-09-20 08:13:53 UTC


README

简单的PHP类,用于将DataTable请求和响应映射,需要PHP 8.1+。

为与PHP 8.0兼容,请参阅版本3。

License Type coverage Minimum PHP version

安装

作为Composer依赖项

在项目目录中运行

user@host project$ composer require "cyril-verloop/datatables"

用于开发目的

user@host ~$ cd [PATH_WHERE_TO_PUT_THE_PROJECT] # E.g. ~/projects/
user@host projects$ git clone https://github.com/cyrilverloop/datatables.git
user@host projects$ cd datatables
user@host datatables$ composer install -o
user@host datatables$ phive install --trust-gpg-keys 4AA394086372C20A,12CE0F1D262429A5,31C7E470E2138192,8AC0BAA79732DD42,C5095986493B4AA0

使用方法

您可以将DataTable请求的元素放入一个"Request"对象中。

use CyrilVerloop\Datatables\Request;

$request = new Request(
    $columns,
    $order,
    $start,
    $length,
    $search
);

然后使用"getCriterias"和"getOrderBy"方法获取数据库查询的参数。

$criterias = $request->getCriterias();
$orderBy = $request->getOrderBy();

一旦从数据库中获取了请求的记录,您可以将它们放入一个"Response"对象中,并通过"jsonSerialize"方法将对象发送回浏览器。

use CyrilVerloop\Datatables\Response;

$response = new Response($draw, $data, $recordsTotal, $recordsFiltered);

持续集成

测试

要运行测试

user@host datatables$ ./tools/phpunit -c ./ci/phpunit.xml

生成的输出将在./ci/phpunit/中。查看./ci/phpunit/html/index.html以获取代码覆盖率,以及./ci/phpunit/testdox.html以获取通过/失败的测试的详细列表。

要运行突变测试,您必须先运行PHPUnit,然后

user@host datatables$ ./tools/infection -c./ci/infection.json

生成的输出将在./ci/infection/中。

静态分析

要进行静态分析

user@host datatables$ ./tools/psalm -c ./ci/psalm.xml [--report=./psalm/psalm.txt --output-format=text]

如果您希望输出到文件而不是屏幕上,请使用"--report=./psalm/psalm.txt --output-format=text"。

PHPDoc

要生成PHPDoc

user@host datatables$ ./tools/phpdocumentor --config ./ci/phpdoc.xml

生成的HTML文档将在./ci/phpdoc/中。

标准

本项目中的所有PHP文件都遵循PSR-12。要缩进代码

user@host datatables$ ./tools/phpcbf --standard=PSR12 --extensions=php -p ./src/ ./tests/