esdeathlove / datatables
PHP Library to handle server-side processing for Datatables, in a fast and simple way.
Requires (Dev)
- phpspec/phpspec: ~2.0
This package is not auto-updated.
Last update: 2024-11-18 16:00:11 UTC
README
![Gitter](https://badges.gitter.im/Join Chat.svg)
PHP Library to handle server-side processing for Datatables, in a fast and simple way. Live Demo
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.
If you haven't started using composer, I highly recommend you to use it.
Put a file named composer.json
at the root of your project, containing this information:
{
"require": {
"ozdemir/datatables": "1.*"
}
}
And then run: composer install
Or just run : composer require ozdemir/datatables
Add the autoloader to your project:
<?php require_once 'vendor/autoload.php'
You're now ready to begin using the Datatables php library.
How to use?
A simple ajax example:
<?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.
- 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
License
Copyright (c) 2015 Yusuf ÖZDEMİR, released under the MIT license