برترین پکیج‌های Laravel برای بهینه‌سازی

پکیج چیست؟به‌عنوان یک توسعه‌دهنده PHP، انتظار می‌رود که با نحوه استفاده از فریم‌ورک‌ها آشنا باشید. فریم‌ورک‌ها با ساده‌تر کردن شیوه‌های متداول مورد استفاده در روند توسعه پروژه‌های بزرگ وب، مانند پکیج‌ها، ماژول‌ها، افزونه‌ها و حتی کامپوننت‌ها، تلاش می‌کنند فرایند توسعه را آسان‌تر کنند.پکیج‌های LaravelLaravel یکی از محبوب‌ترین فریم‌ورک‌ها، برای توسعه‌ی برنامه‌های تحت وب است. این فریم‌ورک محیط توسعه ساده و سریعی را برای توسعه‌دهندگان به ارمغان می‌آورد. Laravel با هدف از بین بردن خستگی در انجام پروژه‌هایی روتین وب مانند پیاده‌سازی بخش احراز هویت، routing، sessions و caching، فرایند توسعه را ساده‌تر کرده است. البته باید افزود که Laravel، عملکرد برنامه را قربانی نمی‌کند و مسیر را برای تعریف عملیات‌های سفارشی سازی شده توسط توسعه‌دهندگان، آسان‌ کرده است. به‌عنوان مثال، می‌توانید از روش‌های مختلف برای اتصال به دیتابیس‌های رابطه‌ای استفاده کنید. همچنین می‌توانید تزریق وابستگی‌ها را انجام دهید و موارد بسیار دیگری از طریق پکیج‌ها در اختیار شما قرار می‌گیرند.اگر بخواهیم پکیج‌ها را دسته‌بندی کنیم، دو نوع پکیج وجود دارد. بعضی از آنها به‌خودی خود، یک فریم‌ورک مستقل محسوب می‌شوند (stand-alone) و برخی دیگر فقط برای یک فریم‌ورک خاصی توسعه یافته‌اند. در این مقاله سعی داریم، بهترین پکیج‌های Laravel را به شما معرفی کنیم.یکی از مزیت‌های مهم استفاده از پکیج‌های Laravel این است که اجازه می‌دهند به تمام ویژگی‌های این فریم‌ورک در برنامه‌تان دسترسی داشته باشید. برای مثال می‌توان به routing, migrations, test, view و بسیاری از ویژگی‌های مفید دیگر اشاره کرد که می‌توانید به آنها دسترسی پیدا کنید. یکی دیگر از مزیت‌های مهم این پکیج‌ها، پیروی از اصل DRY (Don’t Repeat Yourself) است.در ادامه برترین پکیج‌های Laravel که باید آنها را بشناسید و یا مرتبا از آنها استفاده کنید را به شما معرفی خواهیم کرد.فرایند توسعه پکیج‌های Laravelاگر شما می‌خواهید پکیج خود را توسعه دهید، در هنگام کدنویسی آن باید توجه داشته باشید که به‌طور کلی، پکیج شما به قابلیت تست توسط Laravel دسترسی نخواهد داشت و اگر می‌خواهید برای پکیج‌تان، تست بنویسید و کارایی آن را در برنامه‌های واقعی بسنجید، می‌توانید از پکیج Orchestral Testbench استفاده کنید.Composer.json را برای پکیج جدید پیکربندی کنید.Service Provider را اضافه کنید.یک Alias برایش قراردهید.یک Facade class بسازید.این چهار مرحله مهم در توسعه پکیج برای Laravel است و برای سرعت بخشیدن به فرایند توسعه باید به این مراحل توجه داشته باشید.برترین پکیج‌های Laravelپکیج‌های زیادی در Laravel وجود دارند که می‌توانید با استفاده از آنها، برنامه‌تان را سریع‌تر کنید و از ایمنی و عملکرد بهینه‌شان مطمئن باشید. در ادامه پکیچ‌های برتر Laravel را معرفی خواهیم کرد که می‌توانید در بهینه‌سازی عملکرد برنامه‌تان از آنها استفاده کنید.۱) Spatieنقش‌های کاربری (Roles) و مجوزها (permissions)، بخش‌های مهمی از هر برنامه وب هستند. تاریخچه Laravel در این زمینه پکیج‌های زیادی به خود دیده است و همچنین کدهای هسته Laravel هم بهبود یافته است. spatie/laravel-permission یکی از بهترین پکیج‌ها در این زمینه است.مزیت‌ها:نقش‌های کاربریمجوزهامجوزهای مستقیمMiddlewareدستورالعمل‌های چندگانه Bladeدستور‌های Artisan۲) Entrustاین پکیج یک روش انعطاف‌پذیر برای اضافه کردن مجوزهای مبتنی بر نقش کاربری را در برنامه‌هایی که با Laravel 5 توسعه داده‌اید، فراهم می‌آورد. این پکیج چهار جدول می‌سازد:جدول roles برای ذخیره رکوردهای نقش‌های کاربریجدول permissions برای ذخیره رکورد‌های مجوزجدول role_user برای ذخیره کردن روابط یک‌-به‌-چند، بین نقش‌های کاربری و کاربرانجدول permission_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();۳) Laravel DebugbarLaravel Debugbar یکی از بهترین پکیج‌هایی Laravel است که به توسعه‌دهندگان کمک می‌کند تا نوار ابزار توسعه‌دهنده را به برنامه خود اضافه کنند. این پکیج عمدتا برای هدف دیباگینگ استفاده می‌شود. گزینه‌های زیادی در Debugbar وجود دارد. این پکیج کمک می‌کند تا تمام کوئری‌هایی که در برنامه‌تان اجرا می‌شوند، نمایش داده شده و همچنین تمام موارد مربوط به Routeهایی که شما به آن متصل شده‌اید و قالب‌هایی که رندر شده‌اند هم نمایش داده می‌شود. علاوه‌براینها برای نمایش پارامترهایی هم که ارسال می‌شوند می‌توان از این پکیج کمک گرفت. شما می‌توانید با استفاده از Facade، پیامی را اضافه کنید که در بخش پیغام‌ها (Messages) نمایش داده می‌شود:Debugbar::info($object); Debugbar::error('Error!'); Debugbar::warning('Watch out…'); Debugbar::addMessage('Another message', 'mylabel')۴) Laravel User Verificationاین پکیچ به شما امکان می‌دهد تا عملیات مورد نیاز برای تایید اعتبار کاربر را مدیریت کرده و ایمیل‌های کاربران را تایید کنید. کارکرد آن به ‌صورتی است که یک توکن را برای کاربر ثبت نام شده ایجاد و ذخیره می‌کند، سپس ایمیلی که در آن لینکی برای تایید توکن وجود دارد را به ایمیل کاربر ارسال می‌کند و حساب کاربر با باز کردن آن لینک تایید می‌شود. همچنین این پکیج عملکرد اضافه‌ای را هم در اختیار شما قرار می‌دهد، که می‌توانید مسیر middleware را تایید کنید.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قبلا آن را با نام Laravel Elixir می‌شناختند. این پکیج یک API (Application Programming Interface) برای طی کردن مراحل webpack-build پروژه‌تان در اختیار شما قرار می‌دهد و یکی از قدرتمندترین ابزارهایی است که در Laravel وجود دارد.mix.js('resources/assets/js/app.js', 'public/js') .sass('resources/assets/sass/app.scss', 'public/css');۷) Eloquent-SluggableSlugging را می‌توان فرایند ایجاد نسخه‌ای ساده و همانند آدرس URL از یک string با تبدیل آن به حروف کوچک یا حروف بزرگ و حذف فاصله‌ها، حروف برجسته و امپرسندها، دانست. با استفاده از این پکیج می‌توانید برای Eloquent modelهای موجود در پروژه‌تان، Slug بسازید.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 &quotmy-awesome-blog-post۸) Migration GeneratorMigration generator یک پکیج Laravel است که می‌توانید از آن برای migration مواردی مانند indexها و foreign keyها از یک دیتابیس موجود استفاده کنید. با اجرای دستور زیر می‌توانید برای همه جدول‌های موجود در دیتابیس خود migrationهایی ایجاد کنید.php artisan migrate:generateهمچنین می‌توانید فقط جداول خاصی را که می‌خواهید انتقال دهید، انتخاب کنید:php artisan migrate:generate table1,table2۹) Laravel Backupاین پکیج Laravel، یک نسخه پشتیبان از کلیه فایل‌های موجود در برنامه شما، ایجاد می‌کند که یک فایل فشرده است و شامل کلیه فایل‌های موجود در دایرکتوری‌ها و یک نسخه dump شده از دیتابیس می‌شود. می‌توانید این بکاپ را در هر سیستم فایلی نگه‌داری کنید. برای ساخت فایل بکاپ، تمام کاری که شما باید انجام دهید، این است که دستور زیر را اجرا کنید:php artisan backup:run۱۰) No CaptchaNo 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 GraphQLGraphQL یک زبان کوئری است و به‌عنوان جایگزینی برای معماری سنتی یعنی REST APIها شناخته می‌شود. توسعه‌دهندگان ساختار داده‌های مورد نیاز خود را تعریف کرده و داده‌های مورد نیازشان را که ساختاری یکسان با درخواستشان دارد، از سرور دریافت می‌کنند. این پکیج در پیکربندی و استفاده از GraphQL در برنامه‌هایتان به شما کمک می‌کند.سازنده‌های پنل مدیریت Laravelدو دسته از سازنده‌های پنل مدیریت وجود دارند: سازنده‌های Visual و مبتنی برکنسول. انتخاب شما به اولویت‌هایتان بستگی دارد. مثلا GUI دوست دارید یا می‌خواهید از دستورهای Artisan با پارامترهای موجود استفاده کنید.همچنین یک اصطلاح را در این قسمت باید به شما یادآوری کنیم و آن‌هم CRUD که مخفف شده عبارت‌های “Create, Read, Update, Delete” است. این عملیات‌های اصلی ساختار تمام پنل مدیریت را تشکیل می‌دهند.۱۲) VoyagerVoyager دارای یک رابط کاربری مجلل و حرفه‌ای است. دستورالعمل‌های ساده برای استفاده، طراحی فرانت‌اند کاربرپسند، بدون باگ و یا قسمت‌های ناتمام. Voyager برای شما ساخته شده است. حتی نمادهایی مانند تصویر کاپیتان باعث می‌شود که زیباتر به‌نظر برسد.Voyager ویژگی‌های جالبی مانند داده‌های ساختگی، مدیریت رسانه و … را ارائه می‌دهد.۱۳) LaraAdmin: Admin Panel + CRMاین پکیج پس از نصب و ورود به صفحه پنل مدیریتی، به شما اجازه می‌دهد به‌صورت بصری، ماژول‌هایتان را بسازید که از امکانات CRUD است.۱۴) Orchidپلتفرم RAD برای ساخت برنامه‌های تجاری‌تان توسط فریم‌ورک Laravel مناسب است و می‌تواند به‌عنوان هسته برنامه وب شما استفاده شود و یا عملکردی مانند CMS, CMF یا پنل مدیریت را برای وبسایت شما به ارمغان بیاورد.پکیج‌های تجارت الکترونیک در Laravel۱۵) BagistoBagisto یک پکیج تجارت الکترونیک متن‌باز برای Laravel است که در مدت کوتاهی موفق شده است، کاربران Laravel را به‌خود جلب کند. این پکیج به شما امکاناتی مانند مدیریت کاربران، مدیریت موجودی‌های انبار و بسیاری دیگر از قابلیت‌ها را ارائه می‌دهد.۱۶) AvoRedشما به‌راحتی می‌توانید با توجه به نیاز‌های خود، این پکیج متن‌باز Laravel را سفارشی‌سازی کنید. علاوه‌براینها یک طرح رابط کاربری مناسب با موبایل را به‌طور پیش‌فرض ارائه می‌دهد، به‌همین دلیل نیز به‌عنوان یکی از بهترین پکیج‌های سئو، شناخته می‌شود.این پلتفرم به شما امکان می‌دهد موجودیت‌های محصول مانند دسته‌بندی، ویژگی‌ها و … را با قابلیت‌های مدیریت سفارش برای پیگیری سفارش، اطلاعات مشتری، مدیریت موجودی و موارد اینچنینی، ایجاد کنید.۱۷) Laravel TelescopeLaravel Telescope را می‌توان یک دیباگر PHP برای فریم‌ورک Laravel دانست. زیرا دیدگاهی واضح از درخواست‌هایی که به برنامه شما وارد می‌شوند مانند استثنائات، لاگ‌ها، کوئری‌هایی که به دیتابیس ارسال می‌شوند، کارهایی که در صف انجام قرار گرفته‌اند، ایمیل‌ها، اعلانات، عملیات‌ مربوط به cache، کارهای برنامه ریزی شده، گرفتن متغیرها و موارد دیگر را در اختیار شما قرارمی‌دهد. این پکیج یک محیط شگفت‌انگیز برای توسعه محلی برنامه‌های Laravel شما ایجاد می‌کند.پکیج‌های سئو Laravel۱۸) Laravel Meta Managerشما با استفاده از Laravel Meta Manager می‌توانید سئو وبسایت خود را بهینه کنید. بدین ترتیب در افزایش رتبه وبسایت شما کمک می‌کند. با تاکید بر متاتگ‌ها در برنامه‌تان به شما کمک می‌کند تا مطابق با بهترین شیوه‌های موجود برای بهینه‌سازی سئو، وبسایت خود را اصلاح کنید. این پکیج متاتگ‌هایی شامل Standard SEO, Dublin Core, Google Plus, Facebook Open Graph و بسیاری از موارد دیگر را در اختیار شما قرار می‌دهد.۱۹) SEOToolsاین پکیج بهینه‌سازی سئو را برای برنامه‌تان با توجه به آخرین تکنیک‌های رتبه‌بندی موتورهای جستجو، فراهم می‌کند. فریم‌ورک‌های Laravel +5 و Lumen از SEOToools پشتیبانی می‌کنند. این پکیج به‌راحتی با پروژه‌های شما، یکپارچه می‌شود زیرا یک رابط کاربرپسند دارد و این به افراد مبتندی نیز کمک می‌کند تا سرعت کار خود را افزایش دهند، همچنین قابلیت‌های مفیدی برای بهینه‌سازی وبسایت شما ارائه می‌دهد. علاوه‌براینها تکنیک‌های خاصی برای تنظیم عناوین و متاتگ‌هایی برای توییتر و Open Graph فراهم می‌کند.۲۰) Auto MetaAuto Meta ابزاری عالی برای بهینه‌سازی سئو وبسایت‌های Laravel است که برخی تکنیک‌های رایج سئو را در اختیار توسعه‌دهنگان قرار می‌دهد و می‌توان آن را یکی از بهترین ابزارهای Laravel دانست که مدیریت تگ‌های متا را آسان می‌کند. همچنین این پکیج به رفع برخی از اشکال‌های رایج در برنامه کمک کرده و یک کد ساده را برای crawl کردن ربات‌های موتور جستجو ایجاد می‌کند.۲۱) Laravel SeoableLaravel Seoable یکی از پرکاربردترین پکیج‌های سئو برای پروژه‌های Laravel است که تکنیک‌های مناسب سئو را ارائه می‌دهد و باعث پیشرفت رتبه‌بندی برنامه‌تان در موتور‌های جستجو می‌شود. همچنین باید افزود که برخی عملکرد‌ها را طبق بهترین شیوه‌های سئو در هسته اصلی Laravel تعریف می‌کند. مانند mapping Eloquent attributes به متاتگ‌ها، تنظیم قالب‌ سفارشی‌سازی شده برای عنوان و توضیح‌های موجود در صفحه، تعریف داده‌های سفارشی سازی شده SEO، برای application models.۲۲) Laravel-seoLaravel-seo یکی دیگر از پکیج‌های SEO است که به شما امکان می‌دهد متاتگ‌های وبسایت را به آسانی اضافه، مدیریت و حذف کنید. با استفاده از این پکیج، می‌توانید داده‌های قاعده‌مند را به پروژهای Laravel وارد کرده و برخی از پرکاربردترین متاتگ‌های SEO مانند Facebook Open Graph, Dublin Core و سایر موارد اینچنینی را مدیریت کنید.جمع‌بندی پایانیتابه‌اینجا پکیج‌های مختلفی را که برای بهینه‌سازی پروژه Laravel استفاده می‌شوند، معرفی کرده‌ایم. Laravel، اجرای عملیات سفارشی سازی شده توسط توسعه‌دهندگان را آسان کرده است و با استفاده از پکیج‌ها به‌راحتی می‌توانید این کارها را انجام دهید. البته اینها بستگی به نیاز‌ها و وابستگی‌های پروژه‌تان دارد تا بتوانید پکیج‌های مورد نیازتان را انتخاب کنید.بازنشر شده مقاله برترین پکیج‌های Laravel برای بهینه‌سازی برنامه‌ها از وبلاگ سرویس ابری لیارا