iyuyue/datatables

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

1.6.9.1 2018-05-20 09:28 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:41:59 UTC


README

Latest Stable Version Build Status license

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

特性

  1. 易于使用。只需几行代码即可生成json。
  2. 支持使用闭包函数编辑列。
  3. 支持原生PHP的mysql和sqlite。
  4. 与以下框架兼容

如何安装?

支持通过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) (必填)
  • add ($newColumn:string, Closure:object) (可选)
  • edit ($column:string, Closure:object) (可选)
  • get ($value:string) (可选 - 用于开发目的)
  • hide ($column:mixed) (可选)
  • 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';
    });

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

    echo $dt->generate();

要求

DataTables > 1.10
PHP > 5.3.7

许可证

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