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

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

پکیج چیست؟

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

فهرست مطالب

پکیج چیست؟

پیکج‌های لاراول

فرآیند توسعه پکیج‌های لاراول

بهترین پکیج‌های لاراول

جنریتور ادمین پنل لاراول

پکیج‌های تجاری لاراول

پکیج‌های سئو لاراول

پکیج‌های لاراول

لاراول یکی از محبوب‌ترین فریمورک‌ها برای توسعه برنامه‌های وب است؛ که یک محیط توسعه ساده و سریع را برای توسعه‌دهندگان ارائه می‌دهد. لاراول با هدف از بین بردن خستگی از پرو‌ژه‌های روتین وب مثل اعتبار سنجی، مسیریابی، sessions و caching فرآیند توسعه را ساده و سر راست می‌کند. همچنین عملکرد برنامه را قربانی نخواهد کرد و کار توسعه‌دهندگان را برای انجام عملیات‌های سفارشی تسهیل می‌کند. به عنوان مثال می‌توانید از روش‌های مختلفی برای دسترسی به پایگاه داده‌های رابطه‌ای استفاده کنید یا از طریق پیکیج‌ها dependency injection یا تزریق وابستگی‌ و موارد دیگر را انجام دهید.

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

یکی از مزیت‌های مهم استفاده از پکیج‌های لاراول این است که اجازه می‌دهد به تمام ویژگی‌هایی که فریمورک به برنامه میزبان خود ارائه می‌دهد، از جمله مسیریابی، migrations، تست‌ها، ویوها و بسیاری از ویژگی‌های مفید دیگر دسترسی داشته باشند. مزیت مهم دیگر این است که خودتون رو تکرار نمی‌کنید! (DRY یا Don't Repeat Yourself ) .

  • یکم بیشتر یادبگیریم!

اصل خودتو تکرار نکن دقیقاً چیه؟ 

اکثر اوقات ما با کدهایی سر و کار داریم که در جاهای مختلفی از برنامه‌ی ما استفاده میشن، هدف از اصل  DRY کاهش اطلاعات تکراری هست ؛ این اصل توسط Andy Hunt و Dave Thomas  تهیه شده و این اصل رو در کتاب The Pragmatic Programmer به خوبی شرح دادن.

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

برای نقض نکردن اصل DRY باید برنامه‌تون رو به قسمت‌های مختلف تقسیم کنید؛ یعنی کدهاتون رو به واحدهای کوچک‌تری تقسیم کنید و فراموشم نکنین که از نوشتن متدهای طولانی پرهیز کنید.

خب حالا مزیت این اصل چیه؟ روشنه که با این کار کدهای کم‌تری تولید می‌کنید، برنامه‌نویسی براتون راحت‌تر میشه و صد البته که در وقتتون هم صرفه‌جویی می‌کنید. به طور مثال یکی از نمونه‌های خوب برای اصل DRY ، کلاس هلپرها (class helpers) هستن. که توی کتابخانه و فریمورک‌ها بسیار مورد استفاده قرار می‌گیرن.

 در این مقاله بهترین پکیج‌های لاراول را که باید در برنامه‌های لاراولی بشناسید و طور مرتب از آن‌ها استفاده کنید را به شما نشان خواهم داد.

فرآیند توسعه پکیج‌های لاراول

برای توسعه پکیج‌های لاراول، هنگام نوشتن پکیج‌ها، پکیج شما به طور کلی به تمام هلپر تست‌های لاراول دسترسی نخواهد داشت. اگر می‌خواهید تستی برای پکیج خود بنویسیدکه مثلاً در یک پروژه معمولی لاراول وجو داشته می‌توانید از پکیج تست Orchestral Testbench استفاده کنید.

۱. فایل Composer.json خود را برای پکیج جدید خود تنظیم کنید.

۲.Service Provider را اضافه کنید.

۳.Aliasها را تنظیم کنید.

۴. کلاس Facade را ایجاد کنید.

این چهار مرحله مهم، برای نوشتن یک پکیج لاراول است که باید در روند توسعه آن بدانید.

بهترین پکیج‌های لاراول

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

۱.Spatie

نقش‌ها و مجوزها بخش مهمی از بسیاری از برنامه‌های وب را تشکیل می‌دهند. لاراول در طول تاریخ خود پکیج‌های زیادی برای این کار داشت و همچنین کد اصلی را نیز بهبود می‌بخشید. Spatie Roles & Permission یکی از بهترین پکیج‌ها برای مجوزهاست.

مزایا

۱.Roles (نقش‌ها)

۲.Permissions ( مجوزها)

۳.Direct Permissions (مجوزهای مستقیم)

۴.Middleware

۵.Multiple Blade Directives

۶.دستورات Artisan

۲.Entrust

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

این پکیج یک روش انعطاف‌پذیر برای اضافه کردن مجوز‌های Role-based ( مبتنی بر نقش) به برنامه لاراول ۵ شما فراهم می‌کند. این پکیج چهار جدول ایجاد می‌کند: جدول نقش‌ها(roles) برای ذخیره رکوردهای نقش‌ها، جدول مجوزها (permissions ) برای ذخیره رکوردهای مجوزها، جدول role_user برای ذخیره روابط یک به یک یا one-to-many نقش‌ها و کاربران، جدول permission_role برای ذخیره روابط many-to-many بین نقش‌ها و مجوزها.

با نوشتن کد زیر می‌توانید نقش (role)‌ ایجاد کنید:

$admin = new Role();
$admin->name = 'admin';
$admin->display_name = 'User Administrator'; // optional
$admin->description  = 'User is allowed to manage and edit other users'; // optional
$admin->save();

بیایید نحوه اختصاص دادن نقش‌ها به کاربران را بررسی کنیم :

user = User::where('username', '=', 'michele')->first();
$user->attachRole($admin);
Now, you must give permissions to these roles:
$createPost = new Permission();
$createPost->name         = 'create-post';
$createPost->display_name = 'Create Posts';
$createPost->description  = 'create new blog posts';
$createPost->save();
$admin->attachPermission($createPost);

۳.Laravel Debugbar

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

 لاراول دیباگر یکی از بهترین پکیج‌های لاراول است که به کاربران کمک می‌کند تا یک نوار ابزار توسعه‌دهنده را به برنامه(های) خود اضافه کند. این بسته به طور عمده برای اهداف دیباگ کردن و اشکال‌زدایی استفاده می‌شود. گزینه‌های زیادی در Debugbar وجود دارد. این به شما کمک می‌کند تا تمام کوئری‌هایی که برنامه شما ارائه می دهد- همه موارد مربوط به routeها – که شما با آن تماس گرفته‌اید را نشان می‌دهد، همه‌ی templates یا الگوهای ارائه شده و همچنین پارمترهایی که passed شده‌اند را نیز نشان ‌می‌دهد. همچنین می‌توانید پیام‌هایی با استفاده Façade اضافه کنید( هنگامی که اضافه کردید)، آن را در زیر تب پیام‌ها در Laravel Debugbar نمایش می‌دهد.

Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel')

۴. Laravel User Verification

این بسته به شما امکان هندل کردن تأیید صحت کاربر و validates کردن ایمیل(ها) را به شما می‌دهد. این پکیج verification token را generates و آن را برای کاربری که ثبت‌نام کرده (registered user) ذخیره می‌کند، ایمیل را با تأیید صحت token link ارسال می‌کند یا در صف قرار می‌دهد، تأیید صحت توکن‌ها را هندل می‌کند و کاربران را تأیید اعتبار می‌کند.

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

public function register(Request $request)
{
   $this->validator($request->all())->validate();
   $user = $this->create($request->all());
   event(new Registered($user));
   $this->guard()->login($user);
   UserVerification::generate($user);
   UserVerification::send($user, 'My Custom E-mail Subject');
   return $this->registered($request, $user)
       ?: redirect($this->redirectPath());
}

۵.Socialite

Socialite روشی ساده و آسان را برای رسیدگی و هندل کردن احراز هویت Oauth را ارائه می‌دهد. این پکیج اجازه می‌دهد تا کاربران از طریق برخی از محبوب‌ترین شبکه‌های اجتماعی از جمله گوگل، توییتر، فیسبوک، گیت‌هاب، و بیت‌باکت وارد سیستم شوند.

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

$user = Socialite::driver('github')->user();
// OAuth Two Providers
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;
// All Providers
$user->getId();
$user->getName();
$user->getEmail();
$user->getAvatar();

۶.Laravel Mix

لاراول میکس قبلاً با نام لاراول الکسیر شناخته می‌شد. لاراول میکس یک اینترفیس یا رابط برنامه‌نویسی برنامه (API) تمیز و غنی برای تعریف مراحل webpack-build برای پروژه شما فراهم می‌کند.امروزه این پکیج یکی از قدرتمندترین ابزار asset compilation برای لاراول است. برترین پکیج‌های برتر لاراول که می‌توانید برای بهینه سازی برنامه‌هایتان در سال ۲۰۲۰ استفاده کنید

mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');

۷.Eloquent-Sluggable

slugging فرآیند ایجاد یک نسخه ساده شده و URL-friendly از یک رشته است؛ با تبدیل آن به یک مورد و از حذف کردن فضا‌های بین آن، اهمیت دادن به حروف، ampersands (به علامت & گفته می‌شود که به جای and به کار می‌رود) و … .با استفاده از Eloquent-Sluggable، شما می‌توانید به راحتی یک slugs برای تمامی Eloquent مدل‌های پروژه خود ایجاد کنید.

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

class Post extends Eloquent
{
   use Sluggable;
   protected $fillable = ['title'];
   public function sluggable() {
       return [
           'slug' => [
               'source' => ['title']
           ]
       ];
   }
}
$post = new Post([
   'title' => 'My Awesome Blog Post',
]);
// $post->slug is "my-awesome-blog-post

۸.Migration Generator

Migration generator یک پکیج لاراول است که می‌توانید از آن برای ایجاد یک مایرگریشن به پایگاه داده موجود، از جمله indexها و foreign keyها یا کلیدهای خارجی استفاده کنید. هنگامی که دستور زیر را اجرا می‌کنید، می‌توانید برای همه جداول موجود در پایگاه داده  مایگریشن ایجاد کنید.

php artisan migrate:generate

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

 همچنین می‌توانید فقط جدول‌های خاصی را که می‌خواهید انتخاب کنید و مایگریشن را انجام دهید:

php artisan migrate:generate table1,table2

۹.Laravel Backup

این پکیج لاراول، نسخه پشتیبان کلیه فایل‌های شما را در یک برنامه ایجاد می‌کند. این بسته یک فایل فشرده ایجاد می‌کند که شامل کلیه فایل‌های موجود در در فهرست‌هایی است که شما به همراه یک dump از پایگاه داده خود مشخص می‌کنید. می‌توانید از هر فایل سیستمی نسخه پشتیبان ایجاد کنید. برای ایجاد یک نسخه پشتیبان، تمام کاری که شما باید انجام دهید این است که دستور زیر را اجرا کنید:

php artisan backup:run

۱۰.No Captcha

No Captcha یک پکیج برای اجرای اعتبار سنجی Google reCaptcha و محافظت از فرم در مقابل هرزنامه‌ها و اسپم است. ابتدا، باید یک  API key رایگان از reCaptcha بگیرید.

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

NoCaptcha::shouldReceive('verifyResponse')
   ->once()
   ->andReturn(true);
$response = $this->json('POST', '/register', [
   'g-recaptcha-response' => '1',
   'name' => 'Pardeep',
   'email' => 'pardeep@example.com',
   'password' => '123456',
   'password_confirmation' => '123456',
]);

۱۱. Laravel GraphQL

GraphQL یک زبان پرس و جو داده است که جایگزینی برای معماری سنتی REST ارائه می‌دهد. توسعه‌دهندگان ساختار داده‌های مورد نیاز را تعریف می‌کنند و دقیقاً همان ساختار را از سرور دریافت می‌کنند. این پکیج به شما در تنظیم و استفاده از GraphQL در برنامه‌های لاراول کمک می‌کند.

سازنده ادمین پنل لاراول

دو گروه بزرگ از سازنده ادمین پنل وجود دارد: سازندگان بصری (visual builders) و کنسول محور یا مبتنی بر کنسول. این انتخاب بستگی به ترجیحات شما دارد، دوست دارید از GUI استفاده کنید یا دستورات Artisan را با پارامترها تایپ کنید.

۱۲. Voyager: ادمین پنل از یاد رفته

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

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

 Voyager ویژگی‌های جالبی از قبیل داده‌های ساختگی(dummy-data)، مدیریت مدیا یا رسانه‌ها و … را ارئه می‌دهد.

۱۳.LaraAdmin: Admin Panel + CRM

پس از نصب و ورود به صفحه پنل مدیریتی، این پکیج به شما امکان این را می‌دهد تا ماژول‌های visually یا بصری ایجاد کنید؛ که نمایانگر CRUDهای شما هستند.

۱۴.Orchid

پلتفرم RAD برای ساختن یک برنامه تجاری با استفاده از لاراول به خوبی کار می‌کند. این می‌تواند به عنوان پایه اصلی برنامه‌های وب عمل کند، یا می‌تواند عملکردهای CMS ،CMF یا پنل ادمین را برای وب‌سایت شما انجام دهد.

پکیج‌های تجارت الکترونیک لاراول

۱۵.Bagisto

Bagisto یک پکیج برای تجارت الکترونیکی لاراول است که متن‌باز می‌باشد؛ این پکیج در زمان کوتاهی توانست توجه جامعه را به خود جلب کند. این سرویس مدیریت کاربر لاراول خارج از جعبه، گزینه‌های مدیریتی برای فهرست‌های چند انباری و … ارائه می‌دهد.

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

همچنین، پکیج CMS لاراول همراه با navigation پنل و کاربرپسند است؛ امکاناتی مانند: Multi-Currency یا چند پولی، بومی سازی، سطوح کنترل دسترسی، چند کانالهMulti-Channel ، Payment integration و … را ارائه می‌دهد.

۱۶.AvoRed 

به راحتی می‌توانید، بسته به نیاز خود سبد خرید لاراول که متن‌باز است را تنظیم و شخصی‌سازی کنید. این یک رابط mobile-friendly با طرح پیشفرض را به شما ارائه می‌دهد؛ به همین دلیل به عنوان یکی از بهترین پکیج‌های سئو لاراول شناخته می‌شود.

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

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

۱۷.Laravel Telescope

لاراول تلسکوپ یک PHP debugger زیبا برای فریمورک لاراول است. این پکیج یک دید واضح و روشن در مورد ریکوئست‌های وارد شده به برنامه شما، استثنائات، ورود به سیستم، نمایش کوئری‌های دیتابیس، ایمیل‌ها، نوتیفیکیشن‌ها و موارد دیگر ارائه می‌دهد. 

پکیج‌های سئو لاراول

Laravel Meta Manager

با استفاده از این پکیج می‌توانید وبسایت خود را بهینه کنید و از این طریق  وب‌سایت خود را در صفحه اول موتور جستجو در رتبه برتر قرار دهید. با تأکید بر متا تگ‌ها به شما کمک می‌کند تا مطابق با بهترین شیوه‌های سئو آن‌ها را اصلاح کنید. این پکیج با متا تگ‌های پیشنهادی و شامل استانداردهای سئو Dublin Core, Google Plus, Facebook Open Graph و بسیاری دیگر، ارائه می‌شود.

Laravel Seoable

پرکاربرترین پکیج سئو برای پروژه‌های لاراول است. این پکیج تکنیک‌های مناسب سئو را ارائه می‌دهد. این بسته برخی از عملکردهای اصلی لاراول را مطابق با بهترین شیوهای سئو، مانند نقشه‌برداری از ویژگی‌های Eloquent به متا تگ‌های سئو، تنظیم الگوهای سفارشی برای عنوان/توضیحات صفحه و … را تعریف می‌کند.

AutoMeta

AutoMeta ابزاری عالی برای بهینه سازی سئو در لاراول است که به برخی از تکنیک‌های رایج سئو که مورد استفاده توسعه‌دهندگان است کمک می‌کند. این بسته همچنین به‌ رفع اشکالات رایج سئو در برنامه کمک کرده و کد را برای crawl کردن در موتورهای جستجو می‌کند.

Laravel-seo

Laravel-seo یکی دیگر از بسته‌های مفید سئو است که به شما امکان می‌دهد متا تگ‌های وب‌سایت را به سهولت درج، مدیریت و حذف کنید. با استفاده از این پکیج، می‌توانید داده‌های ساختاری را نیز در پروژه‌های لاراول وارد کنید و می‌توانید برخی از متا تگ‌های سئو مانند Facebook Open Graph, Dublin core و .. را مدیریت کنید.

امیدوارم این مقاله برای شما مفید باشد و از مواردی که گفته شد به راحتی استفاده کنید و نهایت استفاده را ببرید.

منبع

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

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

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

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