محتوای این پست با هوش مصنوعی نوشته شده و ممکنه اشتباه یا کمبودی داشته باشه. این پست رو بعدا با محتوای کامل و درست آپدیت میکنم.
ساخت پکیج در لاراول به شما این امکان را میدهد که کدهای خود را در پروژههای مختلف بازیافت کنید. در اینجا مراحل کوتاه برای ساخت یک پکیج ساده و محلی آورده شده است.
۱. ایجاد ساختار پوشهها یک پوشه به نام packages در مسیر اصلی لاراول بسازید، سپس نام وندور (vendor) و نام پکیج خود را اضافه کنید.
mkdir -p packages/yourvendor/yourpackage/src۲. مقداردهی اولیه Composer به پوشه پکیج خود بروید و آن را مقداردهی کنید.
cd packages/yourvendor/yourpackage
composer initمراحل را طی کنید و مطمئن شوید که autoloading استاندارد PSR-4 را در فایل composer.json ساخته شده، تعریف کردهاید:
"autoload": {
"psr-4": {
"YourVendor\\YourPackage\\": "src/"
}
}۳. ساخت Service Provider فایل YourPackageServiceProvider.php را درون پوشه src ایجاد کنید. این فایل نقطه ورود (entry point) پکیج شماست.
<?php
namespace YourVendor\YourPackage;
use Illuminate\Support\ServiceProvider;
class YourPackageServiceProvider extends ServiceProvider
{
public function boot()
{
// روتها، ویوها و مایگریشنها را اینجا لود کنید
$this->loadRoutesFrom(__DIR__.'/routes/web.php');
}
public function register()
{
// بایند کردن کلاسها در کانتینر
}
}۴. اضافه کردن یک روت ساده فایل src/routes/web.php را بسازید تا عملکرد پکیج را تست کنید.
<?php
use Illuminate\Support\Facades\Route;
Route::get('/package-test', function () {
return 'My Laravel package is working!';
});۵. ثبت پکیج در برنامه اصلی فایل composer.json اصلی پروژه لاراول خود را باز کنید و پکیج را به بخش psr-4 اضافه کنید:
"autoload": {
"psr-4": {
"App\\": "app/",
"YourVendor\\YourPackage\\": "packages/yourvendor/yourpackage/src/"
}
}دستور composer dump-autoload را اجرا کنید تا کش فایلها بروزرسانی شود.
در نهایت، Service Provider خود را در فایل bootstrap/providers.php (در لاراول ۱۱) یا config/app.php (در لاراول ۱۰ و قبلتر) ثبت کنید:
YourVendor\YourPackage\YourPackageServiceProvider::class,حالا در مرورگر خود به مسیر /package-test بروید تا نتیجه کارکرد پکیج خود را ببینید.
