پکیجهای لاراول برای افزایش قدرت برنامههایی که با لاراول ایجاد شده بسیار عالی هستند؛ لاراول انعطاف بسیار زیادی برای توسعه پکیجهای جدید دارد، از این رو میتوانید بسته به نیاز خود، پکیجی که میخواهید را توسعه دهید. همینطور جامعه لاراول هم، هر روز در حال توسعه پکیجهای مفید است؛ بعضی از این پکیجها بسیار جالب و بینظیر هستند، طوری که پیش از این، بیشتر برنامهنویسان لاراول از آنها در برنامههای خود استفاده کردهاند. در این مقاله از راکت؛ ۱۰ مورد از اساسیترین و برترین پکیجهای لاراول که در روند توسعه بسیار کاربردی و عالی هستند را به شما معرفی خواهم کرد .
۱. 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
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید