ساخت پکیج لاراول 5 - قسمت اول

ترجمه و تالیف : امیررضا سیستانه ای
تاریخ انتشار : 13 خرداد 98
خواندن در 2 دقیقه
دسته بندی ها : لاراول

مقدمه

بسیاری از آموزش ها یک راست سراغ بخش توسعه ی پکیج می روند, اما بیایید با چند قدم ساده شروع کنیم. ممکنه شما بخواهید پکیچی رو فقط برای پروژه فعلی تون بسازید یا اینکه یک پکیج برای جامعه توسعه دهندگان فراهم کنید, در این صورت باید با توجه به ورژن های جدید لاراول اون رو بروز کنید. 

در ادامه چند سوال که ممکنه به ذهنتون بیاد رو مطرح می کنیم :

  • همه ی پکیج هام رو باید کجا نگه داری کنم؟
  • در برابر چالش GitHub چطور رفتار کنم؟
  • در مورد ورژن های مختلف لاراول چطور؟
  • در مورد Lumen چی؟
  • من در فایل composer.json به چه چیزی نیاز دارم؟
  • چطور باید پکیج رو منتشر کنم؟

من همیشه دنبال آموزش جامعی بودم که تمام فرایندهای ساخن پکیچ لاراول رو از ابتدا تا انتها پوشش بده. در قسمت اول از این سری آموزش ها ما نحوه راه اندازی کار رو بیان می کنیم و به سوالات بالا پاسخ میدیم. در این قسمت ما روی توسعه تمرکز نمی کنیم و فقط به فرآیند و راه اندازی اولیه می پردازیم. پس بیایید کار رو شروع کنیم و سپس سراغ کد بریم.

ساختار پوشه

ابتدا پوشه های مورد نیاز رو می سازیم. به یاد داشته باشید ما می خواهیم چندین پکیج رو داخل یک اکانت داشته باشیم, هرکدام از اونها repository و ورژن های مختلف از لاراول رو شامل می شوند.

./laravel-packages/laravel/4.x.x

                  /laravel/5.0.x

                  /laravel/5.1.x

                  /laravel/...

                  /lumen/5.1.x

                  /lumen/...

                  /packages/websanova/demo

                  /packages/websanova/easy-cache

                  /packages/foo/bar

                  /...

این به ما اجازه میده در ورژن های مختلف لاراول و Lumen تست رو انجام بدیم. در هرکدام از پوشه ورژن ها ما ورژن متناظر لاراول یا Lumen رو قرار میدیم :

composer create-project laravel/laravel ./laravel/5.1.x 5.1

composer create-project laravel/lumen ./lumen/5.1.x 5.1

وقتی کار ارسال ورژن مورد نظر تمام شد پوشه پکیج هامون رو به فولدر پیوند می زنیم.

در ویندوز :

  • اگر UAC فعال هست, مطمئن بشید command prompt در حالت ادمین قرار داره.
  • مطمئن بشید از مسیرهای کامل در ویندوز استفاده کنید و از مسیر رابطه ای استفاده نکنید.
  • در ویندوز اول هدف رو مشخص کنید و سپس منبع رو قرار بدید :
mklink /d "C:\target\path\laravel-packages\laravel\5.1.x\packages" "C:\source\path\laravel-packages\packages"

در لینوکس

ln -ls /source/path/laravel-packages/packages /target/path/laravel-packages/5.1.x/packages

Repositories - Github

حالا که ما پوشه های پکیج هامون رو پیاده سازی کردیم, میتونیم git رو هم راه بیاندازیم. این هم از ساختار پوشه هایی که بالا صحبت کردیم پیروی می کنه. از اونجایی که پوشه ی پکیج هامون پیوند زده شده (symlinked) ما میتونیم یک مکان مرکزی برای تمام repository های پکیج هامون در نظر بگیریم.

سرور

از اونجایی که ما می خواهیم پکیج تستی بسازیم, لازم نیست نگران سرورها باشیم. ما فقط از php server که براحتی توسط لاراول بسته بندی میشه, استفاده می کنیم. به ورژن دلخواه تون از لاراول رفته و سرور رو راه اندازی کنید.

php artisan serve

همچنین توسط تگ port-- میتونیم چندین سرور رو اجرا کنیم :

php artisan serve --port 8001

Composer.json

فعلا ما فقط سراغ تنظیمات ابتدایی لازم برای فایل composer.json میریم و جلوتر کدهای لازم رو به این فایل اضافه می کنیم.

توجه داشته باشید که این فایل composer.json برای پکیج هاست و ربطی به فایل composer.json خود لاراول / Lumen نداره. این فایل باید در مسیر اصلی پکیج ها قرار بگیره :

./laravel-packages/packages/websanova/demo/composer.json

محتوای ابتدایی فایل :

{
    "name": "websanova/demo",

    "description": "Demo package for Websanova article.",

    "keywords": ["laravel", "demo"],

    "license": "MIT",

    "authors": [

        {

            "name": "websanova",

            "email": "rob@websanova.com"

        }

    ],
}

پیشنهاد میشه حتما کلیدواژه laravel رو در بخش کلیدواژه ها قرار بدید. برای اطلاعات بیشتر به سایت packagist.org مراجعه کنید.

انتشار

اگر شما اکانتی ندارید, باید در سایت packagist.org ثبت نام کنید. وقتی ثبت نام کردید, به راحتی میتونید لینک گیت هاب پکیج رو در بخش package submit ثبت کنید. از اونجایی که شما یک فایل معتبر composer.json دارید, packagist پکیج شما رو آنالیز میکنه و پیاده سازی میکنه.

در قسمت های بعد پکیج ها رو ساخته و تست می کنیم.

کد دمو

منبع

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید