۱۰ مورد از اصلی‌ترین پکیج‌های لاراول در سال ۲۰۲۰

ترجمه و تالیف : فاطمه شیرزادفر
تاریخ انتشار : 25 شهریور 99
خواندن در 2 دقیقه
دسته بندی ها : لاراول

پکیج‌های لاراول برای افزایش قدرت برنامه‌هایی که با لاراول ایجاد شده بسیار عالی هستند؛ لاراول انعطاف بسیار زیادی برای توسعه پکیج‌های جدید دارد، از این رو می‌توانید بسته به نیاز خود، پکیجی که می‌خواهید را توسعه دهید. همینطور جامعه لاراول هم، هر روز در حال توسعه پکیج‌های مفید است؛ بعضی از این پکیج‌ها بسیار جالب و بی‌نظیر هستند، طوری که پیش از این، بیشتر برنامه‌نویسان لاراول از آن‌ها در برنامه‌های خود استفاده کرده‌اند. در این مقاله از راکت؛ ۱۰ مورد از اساسی‌ترین و برترین پکیج‌های لاراول که در روند توسعه بسیار کاربردی و عالی هستند را به شما معرفی خواهم کرد .

۱. Laravel H

طراحی فرم، رایج ترین بخش توسعه یک وب‌سایت یا وب‌اپلیکیشن است. اگرچه می‌توانید از ابتدا یک فرم را از روی اسکرچ بسازید اما این یک فرایند وقت‌گیر است. در این سناریو، پکیج Laravel H یک facade خوب و تمیز را برای ساخت عناصر مختلف فرم مثل input, radio, select box و …  فراهم می‌کند.

نصب و راه‌اندازی

composer require haruncpi/laravel-h

طریقه استفاده

{!! F::open(['url' => 'foo/bar']) !!}
{!! F::input('name') !!}}
{!! F::close() !!}

یا می‌توانید اینگونه استفاده کنید ()f()→method

{!! f()->open(['url' => 'foo/bar']) !!}
{!! f()->input('name') !!}}
{!! f()->close() !!}

داکیومنت laravel H

۲.Intervention Image

بارگذاری تصویر، تغییر اندازه، ساخت تصویر سفارشی و دستکاری آن یکی از کارهای مشترک بین تمام برنامه‌نویسان وب است. پکیج intervention image لاراول، راهی ساده‌تر برای ایجاد، ویرایش و تدوین تصاویر به شما می‌دهد.

نصب و راه‌اندازی

composer require intervention/image

طریقه استفاده

تغییر اندازه‌ی یک عکس

$img = Image::make('public/myimage.jpg');
$img->resize(320, 240);
$img->save('public/final.jpg');

درج watermark

$img = Image::make('public/myimage.jpg');
$img->insert('public/watermark-logo.png');
$img->save('public/final.jpg'); 

داکیومنت intervention image

۳. Laravel Log Reader

برای رسیدگی به exception ها یا (استثنائات) برنامه شما، پکیج Laravel Log Reader بسیار مفید است. از طریق این پکیج می‌توانید کلیه error ها و exception log های داشبورد برنامه‌ خود را پیدا کنید. این به شما کمک خواهد کرد که به راحتی error های برنامه خود را پیدا کنید و به سرعت آن را درست کنید. همچنین ویژگی‌های زیادی مثل مشاهده لاگ‌ها بر اساس تاریخ، فیلتر کردن لاگ‌ها، پاکسازی لاگ با UI و JSON log API و … را دارا است.

نصب و راه‌اندازی

composer require haruncpi/laravel-log-reader

publish کردن پیکربندی

php artisan vendor:publish --provider="Haruncpi\LaravelLogReader\ServiceProvider" --tag="config"

طریقه استفاده

استفاده از این بسته بسیار ساده است. کافی است به این لینک نگاهی بندازیدhttp://example.com/admin/log-reader

داکیومنت Laravel Log Reader

۴.Debug Bar

هر توسعه‌دهنده‌ای می‌خواهد عمل‌کرد برنامه خود را ارتقا دهد و در عین حال بفهمد که دقیقاً در هنگام throw (پرتاب) کردن یک exception چه اتفاقی افتاده است. در این سناریو، پکیج debug bar لاراول query log، زمان اجرا، مقدار استفاده از حافظه(memory usages)، جدول زمانی،request payload و … را به شما ارائه می‌دهد.

نصب و راه‌اندازی

composer require barryvdh/laravel-debugbar --dev

طریقه استفاده

در محیط توسعه، شما یک نوار در قسمت UI که شاملquery log، زمان اجرا، مقدار استفاده از حافظه(memory usages)، جدول زمانی،request payload و … را مشاهده خواهید کرد.همچنین شما می‌توانید داده‌های دیباگ شده را به قسمت debug bar که در آن به فانکشن‌های var_dump() یا dd() عادت کرده‌ایم، ارسال کنید؛ که البته با این روش راحت نیست.

Debugbar::info($yourobject);
Debugbar::error('Any error message!');
Debugbar::warning('Watch out the message');
Debugbar::addMessage('Another message', 'my_level');

داکیومنت laravel debug bar

۱۵Laravel Acl

Laravel Acl  پکیجی برای مدیریت کاربر و مجوزها است. پکیج‌های زیادی برای مدیریت کاربر و مجوزها وجود دارد اما Laravel Acl یک API ساده و تمیز برای هندل کردن کاربر و مجوزها را ارائه می‌دهد؛ همچنین مستندات بسیار خوبی نیز دارد. با استفاده از این پکیج می‌توانید مجوزهای کاربر و مجوزهای گروهی را کنترل کنید.

نصب و راه‌اندازی

composer require mateusjunges/laravel-acl
php artisan acl:install

publish کردن فایل migration ها

php artisan vendor:publish --provider="Junges\ACL\ACLServiceProvider" --tag="acl-migrations"

طریقه استفاده

شما باید از UsersTrait در مدل خود استفاده کنید.

use Illuminate\Foundation\Auth\User as Authenticatable;
use Junges\ACL\Traits\UsersTrait;

class User extends Authenticatable
{
    use UsersTrait;

    //
}

اختصاص دادن مجوز

//by slug
$user->assignPermissions('permission-slug-1', 'permission-slug-2');

//or by ids
$user->assignPermissions(1, 2, 3);

چک کردن مجوزها

// by slug
$user->hasPermission('permission-slug');

//or ids
$user->hasPermission(1);

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

داکیومنت Laravel ACL  

۶. Maatwebsite Excel

import و export داده‌های اکسل یک ویژگی مشترک در وب‌اپلیکیشن‌ها و CSV است. پکیج Maatwebsite Excel لاراول این کار را با استفاده از چند خط کد تمیز و به صورت مستقیم انجام می‌دهد.

نصب و راه‌اندازی

composer require maatwebsite/excel

publish کردن پیکربندی vendor

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

طریقه استفاده

خروجی گرفتن برای اکسل

public function export() 
{
    $data = Invice::all();
    return Excel::download($data, 'users.xlsx');
}

import کردن از اکسل

 
<?php

namespace App\Imports;

use App\User;
use Illuminate\Support\Facades\Hash;
use Maatwebsite\Excel\Concerns\ToModel;

class UsersImport implements ToModel
{
    public function model(array $row)
    {
        return new User([
           'name'     => $row[0],
           'email'    => $row[1],
           'password' => Hash::make($row[2]),
        ]);
    }
}
public function importFromExcel() 
{
   Excel::import(new UsersImport, 'users.xlsx');
}

داکیومنت Maatwebsite Excel

۷.Backup Manager

تهیه یک نسخه پشتیبان یا Backup یک عمل بسیار مهم در وب‌اپلیکیشن‌ها است، اما تهیه مدیرت بک آپ از روی اسکرچ کار راحتی نیست،‌ مخصوصا اگر به cloud-like google, dropbox, aws متصل شوید. پکیج backup manager لاراول کار پشتیبان‌گیری را برای شما راحت می‌کند. شما به راحتی می‌توانید سیستم بک آپ خود را با وب‌اپلیکشن خود یکپارچه کنید.

نصب و راه‌اندازی

composer require backup-manager/laravel

برای پشتیبانی از dropbox adapter

composer require srmklive/flysystem-dropbox-v2

داکیونت آن‌ را برای آداپتورهای قابل استفاده بخوانید.

طریقه استفاده

protected function schedule(Schedule $schedule) {
     $environment = config('app.env');
     $schedule->command(
         "db:backup --database = mysql --destination=s3 --destinationPath=/{$environment}/projectname --timestamp="Y_m_d_H_i_s" --compression=gzip"
         )->twiceDaily(13,21);
 }

داکیومنت Laravel Backup

۸.Socialite

اکنون در وب‌اپلیکیشن‌ها سیستم لاگین با فیسبوک، تویییتر، گوگل و گیت‌هاب بسیار متداول است. افراد با استفاده از حساب کاربری خود که قبلاً در فیس‌بوک، توییتر، گوگل، گیت‌هاب و … دارند می‌توانند به راحتی وارد سیستم شوند. برای ادغام سیستم احرازهویت با شبکه‌های اجتماعی می‌توانید از پکیج socialite لاراول که بهترین پکیج برای این کار است استفاده کنید.

نصب و راه‌اندازی

composer require laravel/socialite

طریقه استفاده

'github' => [
    'client_id' => env('GITHUB_CLIENT_ID'),
    'client_secret' => env('GITHUB_CLIENT_SECRET'),
    'redirect' => 'http://your-callback-url',
],
...
...

در بخش controller

<?php

namespace App\Http\Controllers\Auth;
use Socialite;

class LoginController extends Controller
{
    
    public function redirectToProvider()
    {
        return Socialite::driver('github')->redirect();
    }

    
    public function handleProviderCallback()
    {
        $user = Socialite::driver('github')->user();
        $token = $user->token;
    }
}

داکیومنت laravel socialite

۹. Laravel Datatables

Datatables یک پلاگین محبوب جی‌کوئری برای نمایش داده‌ها در یک جدول با یک سری ویژگی‌های عالی مثل سرچ‌کردن، sort کردن (مرتب سازی) و … است. پکیج laravel data table به شما کمک می‌کند تا دیتابیس را به صورت فانکشنال در اپلیکیشن لاراول خود آرشیو کنید.

نصب و راه‌اندازی

composer require yajra/laravel-datatables-oracle:"~9.0"

طریقه استفاده

public function getData(){

  return datatables()->of(User::all())->toJson();

}

داکیومنت Laravel Datatables

۱۰.Laravel ID generator

اگر طرفدار تولید id به صورت خودرکار در جدول خود نیستید یا نمی‌خواهید id سفارشی تولید کنید، laravel id generator برای شماست. استفاده و نصب این پکیج بسیار ساده است و به راحتی قابل تنظیم می‌باشد. با کمک این بسته می‌توانید چیزی مثل INV0001, 19110001, P-00001 را بسازید یا هر فرمت دلخواه دیگر.

نصب و راه‌اندازی

composer require haruncpi/laravel-id-generator

طریقه استفاده

// use within single line code
$id = IdGenerator::generate(['table' => 'todos', 'length' => 7, 'prefix' => 'INV']);
// output: INV0001

داکیومنت Laravel ID generator

منبع

گردآوری و تالیف فاطمه شیرزادفر
آفلاین
user-avatar

تجربه کلمه‌ای هست که همه برای توصیف اشتباهاتشون ازش استفاده میکنن، و من همیشه دنبال اشتباهات جدیدم! برنامه‌نویس هستم و لینوکس‌ دوست

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید