برای شروع ساخت پکیج لاراولی ریپازیتوریهای زیادی برای طرح خام و آماده وجود دارد که یکی از معروف ترین و در عین حال استانداردترین آنها، spatie/package-skeleton-laravel
است. این ریپازیتوری نیز توسط شرکت spatie
توسعه یافته است و یک چارچوب بسیار تمیز برای شروع ساخت پکیج لاراول محسوب میشود.
اما در این آموزش پروژه محور، برای درک اینکه هریک از اجزای داخلی پکیجها چه کاری انجام میدهند، سراغ هیچکدام از ریپازیتوریها نخواهیم رفت. برای شروع یادگیری بهتر است از صفر و بدون هیچ کد آماده ای پیش برویم. در پروژههای بعدی تان برای سرعت بخشیدن به توسعه میتوانید از آنها کمک بگیرید.
پیشنهاد میشود برای شروع، یک پروژه لاراولی بسازیم (نه یک پکیج) و در داخل یک ساب فولدر پکیج خودمان را قرار دهیم.
composer create-project laravel/laravel myproject
یا هردستور دیگری که دردسترس هست یک پروژه لاراولی بالا میآوریم.packages/themahdavi/laravel-permission-editor/
را میسازیم.این دقیقا اسم پکیج ما خواهد بود. در حقیقت اسم پکیج از دو بخش تشکیل شده است. vendor/package-name
. بخش اول یا vendor
سازنده پکیج است که در این آموزش themahdavi
است (نام کاربری واقعی گیتهاب) و بخش دوم laravel-permission-editor
میباشد.
در مرحله بعد نیاز است تا در مسیر اصلی پکیج یک فایل composer.json
درست کنیم. برای این منظور دستور composer init
وجود دارد که پس از پرسیدن چند سوال در نهایت فایل مورد نیاز ما را خواهد ساخت.
cd packages/themahdavi/laravel-permission-editor
composer init
به طور کلی هنگام ساخت این فایل نیاز نیست نگران باشید که چه چیزی داخل آن ساخته میشود چون در ادامه ساخت پکیج به آن مراجعه خواهیم کرد. این فایل هنگام انتشار پکیج بسیار مهم و حیاتی خواهد بود. به هرحال برای شروع مقادیر زیر داخل آن قرار میگیرد:
packages/themahdavi/laravel-permission-editor/composer.json:
{
"name": "themahdavi/laravel-permission-editor",
"description": "Visual UI for managing Roles/Permissions for Spatie Laravel Permission package",
"license": "MIT",
"authors": [
{
"name": "Ali Mahdavi",
"email": "mahdavi095@gmail.com"
}
],
"minimum-stability": "dev",
"require": {}
}
سپس برای اینکه پکیج در دسترس باشد آن را باید در فایل اصلی composer.json
پروژه لاراول لود کنیم. پکیج را در داخل وابستگیهای dev-main
قرار میدهیم.
composer.json (دقت کنید فایل composer اصلی پروژه لاراول است)
// ...
"require": {
"php": "^8.2",
"guzzlehttp/guzzle": "^7.2",
"laravel/framework": "^10.10",
"laravel/sanctum": "^3.0",
"laravel/tinker": "^2.7",
"themahdavi/laravel-permission-editor": "dev-main"
},
"repositories": [
{
"type": "path",
"url": "packages/themahdavi/laravel-permission-editor",
"options": {
"symlink": true
}
}
],
و برای اتمام این درس کافی است دستور composer update
را در مسیر پروژه لاراول اجرا کنیم.
با دیدن مقادیر زیر در ترمینال، مطمئن میشویم که مراحل را به درستی انجام دادیم:
- Installing themahdavi/laravel-permission-editor (dev-main): Symlinking from packages/themahdavi/laravel-permission-editor
عالی است، حالا پروژه لاراول ما پکیج ساخته شده را خواهد دید.
375 کلمه
440 کلمه
190 کلمه
365 کلمه
268 کلمه
191 کلمه
570 کلمه
349 کلمه
1 کلمه
1 کلمه
1 کلمه
1 کلمه