Datatables library for PHP
, (*1)
PHP Library to handle server-side processing for Datatables, in a fast and simple way. Live Demo, (*2)
Features
- Easy to use. Generates json using only a few lines of code.
- Editable columns with a closure function.
- Supports mysql and sqlite for native php.
- Works with laravel and codeigniter3
How to install?
Installation via composer is supported., (*3)
If you haven't started using composer, I highly recommend you to use it., (*4)
Put a file named composer.json at the root of your project, containing this information:, (*5)
{
"require": {
"ozdemir/datatables": "1.*"
}
}
And then run: composer install, (*6)
Or just run : composer require ozdemir/datatables, (*7)
Add the autoloader to your project:, (*8)
<?php
require_once 'vendor/autoload.php'
You're now ready to begin using the Datatables php library., (*9)
How to use?
A simple ajax example:, (*10)
<?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();
Methods
This is the list of available public methods., (*11)
- query ( $query : string )
(required)
- edit ($column:string, Closure:object )
(optional)
- generate ( )
(required)
Example
<?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();
Requirements
DataTables > 1.10
PHP > 5.3.7, (*12)
License
Copyright (c) 2015 Yusuf ĂZDEMİR, released under the MIT license, (*13)