نحوه ایجاد یک بسته در لاراول

سلام صنعتگر ،
Laravel یکی از محبوب ترین چارچوب های PHP است و ماهیت مدولار آن به توسعه دهندگان اجازه می دهد تا بسته های قابل استفاده مجدد را ایجاد کنند. یک بسته یک بسته نرم افزاری از کد قابل استفاده مجدد است که می تواند در چندین پروژه Laravel به اشتراک گذاشته و نصب شود.
در این راهنما ، ما شما را از طریق ایجاد یک بسته Laravel از ابتدا برای مدیریت کاربر پیاده روی خواهیم کرد.
مرحله 1: یک بسته جدید لاراول را تنظیم کنید
قبل از شروع ، مطمئن شوید که Laravel نصب شده است. شما می توانید یک بسته Laravel را از دو طریق ایجاد کنید:
1. یک فهرست برای بسته ایجاد کنید
به پروژه Laravel خود بروید packages
دایرکتوری (اگر وجود ندارد ، آن را ایجاد کنید):
mkdir -p packages/laravelusermanager
cd packages/laravelusermanager
2. آهنگساز را اولیه کنید
دستور زیر را در داخل فهرست بسته بندی کنید تا نسخه ساز را آغاز کنید:
composer init
3. بسته را در تعریف کنید composer.json
در بسته های شما composer.json
، اطمینان حاصل کنید که موارد زیر را شامل می شود:
{
"name": "laraelusermanager",
"description": "A sample Laravel package for user management",
"type": "library",
"autoload": {
"psr-4": {
"LaravelUserManager\\LaravelUserManager\\": "src/"
}
},
"require": {
"php": ">=8.0",
"illuminate/support": "^10.0"
}
}
4. بسته بندی را در لاراول ثبت کنید
در برنامه Laravel ، فضای نام بسته خود را به آن اضافه کنید composer.json
در پروژه ریشه:
"autoload": {
"psr-4": {
"LaravelUserManager\\LaravelUserManager\\": "packages/laravelusermanager/src/"
}
}
دویدن composer dump-autoload
برای بارگیری مجدد پرونده های AutoLoad.
مرحله 2: ساختار بسته را ایجاد کنید
درون packages/laravelusermanager/,
دایرکتوری های زیر را ایجاد کنید:
mkdir -p src config routes resources/views
1. ارائه دهنده خدمات را ایجاد کنید
یک فایل ایجاد کنید src/PackageServiceProvider.php
و ارائه دهنده خدمات را تعریف کنید:
namespace VendorName\LaravelUserManager;
use Illuminate\Support\ServiceProvider;
class PackageServiceProvider extends ServiceProvider
{
public function boot()
{
// Load routes
$this->loadRoutesFrom(__DIR__.'/../routes/web.php');
// Load views
$this->loadViewsFrom(__DIR__.'/../resources/views', 'laravelusermanager');
// Publish config
$this->publishes([
__DIR__.'/../config/config.php' => config_path('laravelusermanager.php'),
]);
}
public function register()
{
// Merge package config
$this->mergeConfigFrom(__DIR__.'/../config/config.php', 'laravelusermanager');
}
}
2. مسیرها را تعریف کنید
ایجاد کردن routes/web.php
:
use Illuminate\Support\Facades\Route;
use LaravelUserManager\Controllers\UserController;
Route::resource('users', UserController::class);
3. یک فایل پیکربندی ایجاد کنید
ایجاد کردن config/config.php:
return [
'setting' => 'default_value',
];
4. نمای ایجاد کنید
ایجاد کردن resources/views/users/index.blade.php
:
User List
ID
Name
Email
@foreach ($users as $user)
{{ $user->id }}
{{ $user->name }}
{{ $user->email }}
@endforeach
5. یک کنترلر ایجاد کنید
ایجاد کردن src/Controllers/UserController.php
:
namespace LaravelUserManager\LaravelUserManager\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Routing\Controller;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('laravelusermanager::users.index', compact('users'));
}
public function create()
{
return view('laravelusermanager::users.create');
}
public function store(Request $request)
{
User::create($request->all());
return redirect()->route('users.index');
}
}
مرحله 3: بسته را در لاراول ثبت کنید
در config/app.php
، ارائه دهنده خدمات را به آرایه ارائه دهندگان اضافه کنید:
'providers' => [
LaravelUserManager\PackageServiceProvider::class,
];
مرحله 4: بسته را آزمایش کنید
دویدن php artisan serve
و بازدید http://localhost:8000/users
بشر شما باید لیست کاربران را مشاهده کنید.
مرحله 5: انتشار بسته
اگر می خواهید بسته خود را با دیگران به اشتراک بگذارید: کد خود را به GitHub فشار دهید.
با ثبت نام آن در حساب آهنگساز خود ، آن را به Packagist ارسال کنید.
برای نصب آن در سایر پروژه های Laravel ، استفاده کنید: composer require laravelusermanager
پایان
ایجاد یک بسته Laravel یک روش عالی برای مدولار سازی و استفاده مجدد از کد است. با دنبال کردن این مراحل ، می توانید بسته های Laravel خود را به طور کارآمد بسازید و توزیع کنید!
خواندن مبارک!
برنامه نویسی مبارک!
❤