Datatables: لایبرری پی‌اچ‌پی برای هندل پردازش‌های سمت سرور دیتاتیبل‌ها

Article
مجتبی پاکزاد مجتبی پاکزاد

لایبرری datatables برای هندل کردن پردازش‌های سمت سرور مربوط به دیتاتیبل‌ها کاربرد دارد. دیتاتیبل‌ها جداولی داینامیک هستند که محتوای آن‌ها به کمک اجکس رفرش می‌شود. استفاده از دیتاتیبل‌ها، روشی سریع و ساده برای پردازش محتوای جدول‌ها است.

نمونه دیتاتیبل

فیچرها

  1. استفاده از آن آسان است. تنها با چند کد، اطلاعات مورد نیاز به صورت json تولید می‌شود.
  2. با استفاده از کلوژر فانکشن می‌توانید ستون‌ها را ویرایش کنید.
  3. از mysql و sqlite پشتیبانی می‌کند.
  4. با فریمورک‌های زیر کار می‌کند:

روش نصب

نصب از طریق کامپوزر پشتیبانی می‌شود.
اگر هنوز شروع به استفاده از کامپوزر نکرده‌اید، به شدت توصیه می‌کنیم از آن استفاده کنید.

یک فایل با نام composer.json در روت پروژه خودتان قرار دهید و کد زیر را در آن بنویسید:

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

حالا دستور composer install را اجرا کنید.

توجه

برای اجرای دستور بالا، ابتدا باید کامپوزر را نصب کرده باشید، سپس دستور بالا را در ترمینال مک/لینوکس یا کامندلاین ویندوز اجرا کنید.

یا اگر می‌خواهید سریع‌تر این کار را انجام دهید، نیازی به ساخت فایل بالا نیست، تنها دستور composer require ozdemir/datatables را اجرا کنید.

سپس autoloader را به پروژه خود اضافه کنید.

<?php

require_once 'vendor/autoload.php'

حالا پروژه شما آماده شروع استفاده از لایبرری Datatables است.

روش استفاده

یک مثال ساده اجکس:

<?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 "edit";
});

$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 "edit";
});

echo $dt->generate();

الزامات

  • DataTables ورژن 1.10 به بالا
  • PHP ورژن 5.3.7 به بالا

برچسب‌ها: php لایبرری

مجتبی پاکزاد
مجتبی پاکزاد

حل مساله و چالش رو خیلی دوست دارم و رابطه خیلی خوبی با ریاضیات، برنامه‌نویسی و اقتصاد دارم. علاقه زیادی به هوش‌مصنوعی، یادگیری ماشین و موضوعات مرتبط دارم.

مطالب مرتبط


PHP-ML: لایبرری یادگیری ماشین برای PHP

یادگیری ماشین یکی از جذاب‌ترین مباحث در زیرشاخه‌های هوش مصنوعی است که افراد زیادی برای یادگیری آن به پایتون روی می‌آورند. لایبرری PHP-ML، کتابخانه‌ای برای کار در حوزه یادگیری ماشین با استفاده از زبان پی‌اچ‌پی است.

الگوهای طراحی (دیزاین پترن‌ها) در برنامه‌نویسی

دیزاین پترن‌ها، سلوشن‌هایی (راه‌کارهایی) بهینه و با قابلیت استفاده مجدد، برای مشکلات برنامه‌نویسی هستند که هر روز با آن‌ها سروکار داریم. هر دیزاین پترن در واقع یک الگو است که باید در شرایط درستی پیاده‌سازی شود. دیزاین پترن‌ها مختص زبان خاصی نیستند. یک دیزاین پترن خوب بسته به قابلیت‌های زبان‌های برنامه‌نویسی باید در اکثر زبان‌های برنامه‌نویسی قابل پیاده‌سازی باشد.

اصول شی‌گرایی در PHP

برای یادگیری اصول شی‌گرایی باید برنامه‌نویسی رویه‌گرا به خوبی آموخته باشیم. شی‌گرایی نقطه مقابل برنامه نویسی رویه‌گرا است. در شی‌گرایی با مفاهیمی چون کلاس‌ها، اشیا و پراپرتی‌ها سروکار داریم. کلاس مانند یک نقشه است که قاعده کلی را شامل می‌شوند، شی نیز یک نمونه است که از روی نقشه یا راهنمای ما که کلاس است ساخته شده است.