سلام، امروز میخوام نحوه ساخت سیستم رزرواسیون در لاراول بهتون یاد بدم تا از فردا هرچیزی دم دستتونه از کاغذ A4 بگیر تا صندلی هواپیما رو بزاری برای رزرز. ?
احتملا شمام داخل یه سری پروژه هاتون به سیستم رزرواسیون احتیاج داشتید (منم نیاز داشتم ولی پکیج به درد بخوری پیدا نکردم یکی، دوتا بود که انقدر تو در و دیوار بودن که نگم ??♂️). برای همین منم نشستم یدفعه دیدم یه لامپ اومد بالا سرم ?، توی لامپه نوشته بود پاشو یه پکیج برای اضافه کردن امکان رزرواسیون به لاراول بنویس منم گفتم چشم?️?️ و اسمشو گذاشتم Lara Reserve.
قبل این که آموزش نصب و استفادش بگم ممنون میشم داخل گیتهاب به Lara Reserve ستاره بدی واقعا حمایت بزرگیه.
لینک گیتهاب: https://github.com/shayan100/lara-reserve
برای نصب پکیج Lara Reserve دستور زیر را اجرا کنید:
composer require shayanys/lara-reserve
بعد از نصب پکیج باید مایگریشن های اون رو اجرا کنید برای این کار کافیه دستور زیر اجرا کنید:
php artisan migrate
برای استفاده از پیج Lara Reserve شما باید مدل های خود را برای این کار آماده کنید. کافیه مدل هایی که قرار هست قابلیت رزرو شدن داشته باشند از اینترفیس (interface) ReservableInterface پیروی (implement) و همینطور از تریت (trait) Reservable استفاده (use) کنند. و اما مدل هایی که قرار هست رزرو برای انها انجام بشه (یعنی توانایی رزرو کردن یک مدل رزرو شونده را داشته باشند) مثل مدل User این مدل ها باید از اینترفیس (interface) CustomerInterface پیروی (implement) و از تریت (trait) Customer اسفاده (use) کنند.
مثال Reservable (مدلی که توانایی رزرو شدن دارد):
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\MorphMany; use ShayanYS\LaraReserve\Interfaces\ReservableInterface; use ShayanYS\LaraReserve\Models\Reserve; use ShayanYS\LaraReserve\Traits\Reservable; class Book extends Model implements ReservableInterface { use HasFactory, Reservable; }
مثال Customer (مدلی که توانایی رزرو کردن دارد):
<?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; use ShayanYS\LaraReserve\Interfaces\CustomerInterface; use ShayanYS\LaraReserve\Traits\Customer; class User extends Authenticatable implements CustomerInterface { use HasApiTokens, HasFactory, Notifiable, Customer; }
بعد از انجام این کار ها مدل های شما آماده استفاده از پکیج Lara Reserve هستند.
برای مشاهده کارایی همه متد های پکیج Lara Reserve به صفحه گیتهاب که بالا تر قرار دادم سر بزنید و یادتون نره بهش ستاره بدید ممنون ❤️.