ایجاد و انتشار یک پکیج در لاراول یکی از راههای مفید برای اشتراکگذاری قابلیتهای خاص با سایر پروژهها است. لاراول امکان ایجاد پکیجهای بسیار قدرتمند را به راحتی فراهم کرده است. در اینجا به نحوه ایجاد یک پکیج در لاراول و انتشار آن میپردازیم.
📦 ایجاد و انتشار پکیج در لاراول
1. ساخت پکیج در لاراول
1.1. ساخت ساختار دایرکتوری پکیج
پکیجها معمولاً در پوشه packages در دایرکتوری پروژه لاراول قرار میگیرند. برای شروع، یک دایرکتوری جدید برای پکیج خود بسازید.
به عنوان مثال، ساختار زیر را در نظر بگیرید:
در اینجا:
-
your-vendorنام نام تجاری شما یا گروهی است که پکیج را میسازد. -
your-packageنام پکیج شما است. -
srcدایرکتوری است که کد اصلی پکیج در آن قرار میگیرد. -
composer.jsonبرای مدیریت وابستگیها و اطلاعات پکیج استفاده میشود.
1.2. ساخت composer.json برای پکیج
در دایرکتوری your-package، یک فایل composer.json بسازید که اطلاعات پکیج شما را مشخص کند.
در این فایل:
-
name: نام پکیج شما با فرمتvendor/packageاست. -
autoload: نحوه بارگذاری کلاسها با استفاده از استاندارد PSR-4. -
require: وابستگیهای پکیج (مثلاً لاراول). -
extra: تنظیمات خاص لاراول برای ثبت سرویس پرووایدها و فاسیادها.
1.3. ساخت سرویس پرووایدر
در دایرکتوری src، یک کلاس سرویس پرووایدر بسازید. این سرویس پرووایدر مسئول بارگذاری پکیج در لاراول خواهد بود.
مثلاً در src/YourPackageServiceProvider.php:
1.4. ساخت فاسیاد (Facade)
برای راحتتر کردن دسترسی به ویژگیهای پکیج، میتوانید یک فاسیاد بسازید.
در src/Facades/YourPackage.php:
1.5. اضافه کردن منطق پکیج
در داخل دایرکتوری src، منطق اصلی پکیج خود را بنویسید. مثلاً یک کلاس برای انجام کاری خاص:
در سرویس پرووایدر، میتوانید این کلاس را ثبت کنید:
2. استفاده از پکیج در پروژه لاراول
برای استفاده از پکیج، باید آن را به پروژه لاراول اضافه کنید. شما میتوانید پکیج را به دو روش به پروژه خود اضافه کنید: به صورت لوکال (در محیط توسعه) یا از طریق مخزن بسته مانند Packagist.
2.1. استفاده از پکیج به صورت لوکال
برای استفاده از پکیج به صورت لوکال، در فایل composer.json پروژه اصلی خود، پکیج را به صورت زیر اضافه کنید:
سپس دستور زیر را برای نصب پکیج اجرا کنید:
2.2. استفاده از پکیج از طریق Packagist
اگر میخواهید پکیج را از طریق Packagist منتشر کنید، باید پکیج را به آن ارسال کنید. اما قبل از این کار، باید مطمئن شوید که composer.json شما به درستی تنظیم شده است و تمام اطلاعات پکیج به درستی در آن قرار دارد.
3. انتشار پکیج به Packagist
برای انتشار پکیج در Packagist (مخزن پیشفرض برای پکیجهای Composer)، باید مراحل زیر را انجام دهید:
3.1. ساخت حساب کاربری در Packagist
ابتدا به سایت Packagist بروید و یک حساب کاربری بسازید.
3.2. ارسال پکیج به Packagist
برای ارسال پکیج، باید مخزن پکیج خود را در GitHub یا GitLab ایجاد کنید. پس از ایجاد مخزن، به سایت Packagist بروید و پکیج خود را با وارد کردن آدرس مخزن ارسال کنید.
مثلاً:
پس از ارسال پکیج، Packagist به طور خودکار آن را پردازش کرده و در مخزن خود قرار میدهد.
4. بهروزرسانی پکیج
برای بهروزرسانی پکیج منتشر شده، کافیست تغییرات خود را در مخزن GitHub انجام دهید و نسخه جدید را در composer.json اعلام کنید. سپس با اجرای دستور زیر، نسخه جدید را منتشر کنید:
💡 جمعبندی
-
پکیجهای لاراول یک راه قدرتمند برای به اشتراکگذاری قابلیتها با سایر پروژهها هستند.
-
شما میتوانید پکیجها را با استفاده از دستور
php artisan make:controllerو ساختار دایرکتوری مناسب ایجاد کنید. -
با استفاده از سرویس پرووایدر، فاسیاد و کلاسها، میتوانید منطق پکیج خود را به راحتی مدیریت کنید.
-
پس از ساخت پکیج، میتوانید آن را در Packagist منتشر کنید و از آن در پروژههای مختلف استفاده کنید.
اگر سوال یا مشکلی دارید یا نیاز به کمک بیشتر دارید، خوشحال میشوم که کمک کنم!