mynuolr/datatables

PHP库,用于以快速简单的方式处理Datatables的服务器端处理。

1.6.9 2020-11-06 06:52 UTC

This package is not auto-updated.

Last update: 2024-09-22 00:48:21 UTC


README

最新稳定版本 构建状态 license ![Gitter](https://badges.gitter.im/Join Chat.svg)

PHP库,用于以快速简单的方式处理Datatables的服务器端处理。 在线演示

特性

  1. 易于使用。仅用几行代码即可生成json。
  2. 支持使用闭包函数编辑列。
  3. 支持mysql和sqlite原生PHP。
  4. laravelcodeigniter3兼容

如何安装?

支持通过composer安装。

如果您还没有开始使用composer,我强烈推荐您使用它。

将一个名为composer.json的文件放在项目的根目录下,包含以下信息

{
    "require": {
       "ozdemir/datatables": "1.*"
    }
}

然后运行:composer install

或者直接运行:composer require ozdemir/datatables

将自动加载器添加到您的项目中

    <?php

    require_once 'vendor/autoload.php'

现在您已经准备好开始使用Datatables PHP库了。

如何使用?

一个简单的Ajax示例

    <?php
    require_once 'vendor/autoload.php';

    use Ozdemir\Datatables\Datatables;
    use Ozdemir\Datatables\DB\MySQL;

    $config = [ 'host'     => 'localhost',
                'port'     => '3306',
                'username' => 'homestead',
                'password' => 'secret',
                'database' => 'sakila' ];

    $dt = new Datatables( new MySQL($config) );

    $dt->query("Select film_id, title, description from film");

    echo $dt->generate();

方法

这是可用的公共方法列表。

  • query ( $query : string ) (必需)
  • edit ($column:string, Closure:object ) (可选)
  • generate ( ) (必需)

示例

    <?php
    $dt = new Datatables( new MySQL($config) );

    $dt->query("Select id, name, email, address, plevel from users");

    $dt->edit('id', function($data){
        // return an edit link.
        return "<a href='user.php?id=" . $data['id'] . "'>edit</a>";
    });

    $dt->edit('email', function($data){
        // return mail@mail.com to m***@mail.com
        return preg_replace('/(?<=.).(?=.*@)/u','*', $data['email']);
    });

    $dt->edit('address', function($data){
        // check if user has authorized to see that
        $current_user_plevel = 4;
        if ($current_user_plevel > 2 && $current_user_plevel > $data['plevel']) {
            return $data['address'];
        }

        return 'you are not authorized to view this column';
    });

    echo $dt->generate();

要求

DataTables > 1.10
PHP > 5.3.7

许可证

版权(c)2015 Yusuf ÖZDEMİR,在MIT许可证下发布