وبلاگ

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


رقیه اباذری رقیه اباذری

پکیج چیست؟

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

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

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

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

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

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

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

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

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

2. ارائه‌دهنده سرویس را اضافه کنید

3. نام مستعار تنظیم کنید

4. کلاس Facade ایجاد کنید

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

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

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

1. پکیج Spatie لاراول

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

مزایا:

  • Roles
  • Direct Permissions
  • Artisan commands
  • Multiple Blade Directives
  • Middleware
  • Permission

2. پکیج Entrust

پکیج Entrust در لاراول

این پکیج راهی انعطاف‌پذیر برای افزودن مجوزهای مبتنی بر نقش به اپلیکیشن لاراول 5 شما ارائه می‌دهد. این پکیج چهار جدول ایجاد می‌کند:

جدول roles table برای ذخیره سوابق رول‌ها

جدول permissions table برای ذخیره‌سازی سوابق مجوز

 جدول role_user برای ذخیره روابط یک به چند بین نقش‌ها و کاربران

 جدول permission_role برای ذخیره روابط بین چندین نقش بین نقش‌ها و مجوزها

با نوشتن کد زیر می‌توانید 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);

3. پکیج Laravel Debugbar

پکیج Laravel Debugbar در لاراول

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

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

4. پکیج Laravel User Verification

این پکیج به شما امکان می‌دهد تائیدیه کاربر را کنترل کنید و ایمیل را تأیید می‌کند. پکیج User Verification یک رمز تأیید برای کاربر رجیستر شده ایجاد و ذخیره می‌کند، یک ایمیل با لینک توکن تأیید ایمیل ارسال می‌کند یا در صف قرار می‌گیرد، تأیید رمز را کنترل می‌کند، کاربر را به عنوان کاربر تأیید شده ست می‌کند.  

تایید ایمیل در لاراول

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());

5. پکیج Socialite

Socialite یک روش ساده و آسان برای کنترل احراز هویت OAuth ارائه می‌دهد. پکیج Socialite لاراول این امکان را به کاربران می‌دهد تا از طریق محبوب‌ترین شبکه‌ها و سرویس‌های اجتماعی از جمله Facebook ،Twitter ،Google ،GitHub و BitBucket وارد سیستم شوند.

لاگین در شبکه‌های اجتماعی بااستفاده از پکیج Socialite لاراول

$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();

6.Laravel Mix

Laravel Mix که پیش از این با نام Laravel Elixir شناخته می‌شد، یک رابط برنامه‌نویسی برنامه کاربردی (API) تمیز و غنی برای تعریف مراحل ساخت پکیج وب برای پروژه شما فراهم می‌کند. این پکیج قدرتمندترین ابزار جمع‌آوری دارایی است که امروزه برای لاراول موجود است.

پکیج Laravel Mix

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

7. پکیج Eloquent-Sluggable

Slugging  فرآیند ایجاد یک نسخه ساده و URL-friendly از یک رشته با تبدیل آن به یک حالت و حذف فاصله، حروف برجسته، امپرسند (&) و غیره است. با استفاده از Eloquent models، به‌راحتی می‌توانید برای همه Eloquent-Sluggable در پروژه خود اسلاگ ایجاد کنید.

پکیج Eloquent-Sluggable در لاراول

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

8. پکیج Migration Generator

Migration Generator یک پکیج لاراول است که با استفاده از آن می‌توانید مایگریشن‌ها را از یک پایگاه داده موجود، از جمله indexes و foreign keys ایجاد کنید. وقتی دستور زیر را اجرا می‌کنید، می‌توانید برای همه جداول موجود در پایگاه داده خود، مایگریشن ایجاد کنید.

php artisan migrate:generate

پکیج Migration Generator در لاراول

9. پکیج Laravel Backup

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

php artisan backup:run

10. پکیج No Captcha

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

پکیج No Captcha لاراول

 

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',
]);

11. پکیج Laravel GraphQL

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

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

دو گروه بزرگ تولیدکننده پنل مدیریت وجود دارد: سازندگان بصری و مبتنی بر کنسول. این انتخاب به تنظیمات شما بستگی دارد، شاید دوست داشته باشید از GUI استفاده کنید یا دستورات Artisan را با پارامتر تایپ کنید.
اصطلاح مهمی که باید در اینجا بخاطر بسپارید CRUD است. این اصطلاح مخفف "Create, Read , Update, Delete " است که عملیات اصلی عناصر سازنده تمام پنل‌های مدیریت هستند.

12. پکیج LaraAdmin: پنل مدیریت + CRM

بعد از نصب و ورود به پنل مدیریت خود، این پکیج به شما امکان می‌دهد که ماژول‌هایی را به صورت بصری نشان دهید که CRUD‌های شما را نشان دهند.

13. پکیج Orchid

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

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

14. Bagisto

Bagisto یک پکیج تجارت الکترونیکی اپن‌سورس لاراول است که در مدت زمان بسیار کوتاهی توانسته نظر جامعه لاراول را به خود جلب کند. این برنامه مدیریت کاربر لاراول out-of-the-box، گزینه‌های مدیریت موجودی چند انبار و موارد دیگر را ارائه می‌دهد.

پکیج bagisto

همچنین، پکیج لاراول CMS همراه با پیمایش پنل مدیریت داخلی کاربرپسند است، قابلیت‌هایی مانند چندارزی، محلی‌سازی، سطح کنترل دسترسی، چند کانال، ادغام پرداخت و موارد دیگر را ارائه می‌دهد.

15. پکیج AvoRed

به‌راحتی می‌توانید سبد خرید متن‌باز لاراول را متناسب با نیاز خود سفارشی کنید. به طور پیش‌فرض یک طرح رابط کاربر پسند ارائه می‌دهد، به همین دلیل یکی از بهترین پکیج‌های SEO لاراول نیز نامیده می‌شود.

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

پکیج avored لاراول

16. پکیج Laravel Telescope

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

سخن آخر

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



رقیه اباذری
رقیه اباذری

تو دانشگاه IT خوندم و اکثر منابع کتاب‌های ترجمه شده بودند و صدالبته مبهم :( مثلا element رو "عنصر" ترجمه می‌کردن و من همیشه می‌رفتم تو شیمی و جدول مندلیف. تو باورژن سعی کردم تا حد ممکن مطالب رو با زبان ساده و قابل درک بنویسم. باشد که کسانی که تازه پا به عرصه برنامه‌نویسی گذاشتن، راغب‌تر بشن و با نظرات و فیدبک‌های شما راه هموارتر بشه:)

مطالب مرتبط

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

مقاله‌های زیادی درباره مقایسه فریمورک لاراول با سیموفنی یا مواردی از این قبیل در سطح اینترنت یافت می‌شود. با این حال در این مقاله قصد مقایسه فریمورک‌ها را نداریم. بلکه سعی در توضیح مزایای لاراول و امکانات فریمورک لاراول داریم. امکانات بی‌نظیری که باعث شده است برنامه‌نویسان زیادی به سمت برنامه‌نویسی لاراول تغییر مسیر دهند

متدهای firstOrNew و firstOrCreate و firstOr و updateOrCreate در لاراول

متدهای firstOrNew و firstOrCreate و firstOr و updateOrCreate در لاراول برای آپدیت و ساخت مدل‌ها استفاده می‌شوند.

اکسپورت دیتا در اکسل و CSV در لاراول 6 به همراه مثال

در این آموزش، نحوه اکسپورت داده‌های اکسل و CSV با استفاده از پکیج maatwebsite/excel را بررسی می‌کنیم. پکیج Laravel Excel یک ورژن PhpSpreadsheet متناسب سازی شده با لاراول است

کلاس‌های تک اکشن در کنترلر لاراول

فانکشن‌های جادویی در PHP وجود دارد که __invoke یکی از آن‌هاست. از طریق متد __invoke، فقط با یک فانکشن __invoke کلاس‌هایی را ایجاد می‌کنیم و هر زمان که آبجکت آن‌ها فراخوانی شود، مستقیماً متد __invoke را فراخوانی می‌کند. پس دیگر نیازی نیست به‌صورت دستی $obj->someFunction() را بنویسید.

دیدگاه‌ها