esdeathlove / datatables

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

1.6.8 2017-02-19 00:35 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:15:37 UTC


README

![最新稳定版本](https://camo.githubusercontent.com/08b930e68075c53c4997efd449305d7d42351d7eec24e02ee6f88f7b17cd5dc0/68747470733a2f2f706f7365722e707567782e6f72672f6f7a64656d69722f646174617461626c65732f762f737461626c65) ![构建状态](https://camo.githubusercontent.com/6ac66dd6a2979e25480891baa1ad151dea7e8814a33f1fd939085d9bdec941c4/68747470733a2f2f7472617669732d63692e6f72672f6e31637261636b2f646174617461626c65732e7376673f6272616e63683d6d6173746572) ![许可证](https://camo.githubusercontent.com/e581ac49b7e1e99fb951242be63f6fdc6ebbc20c89a97fca0de99e1f2e6ae87e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6173686170652f6170697374617475732e737667) ![Gitter](https://badges.gitter.im/Join Chat.svg)

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

功能

  1. 易于使用。只需几行代码即可生成 JSON。
  2. 支持使用闭包函数编辑列。
  3. 支持原生 PHP 的 mysql 和 sqlite。
  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 许可证 下发布