<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های میلاد خداوردی</title>
        <link>https://virgool.io/feed/@miladkh</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-16 20:55:06</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/252526/avatar/UtNp7q.jpeg?height=120&amp;width=120</url>
            <title>میلاد خداوردی</title>
            <link>https://virgool.io/@miladkh</link>
        </image>

                    <item>
                <title>بررسی Request Lifecycle در لاراول</title>
                <link>https://virgool.io/@miladkh/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-request-lifecycle-%D8%AF%D8%B1-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-hpceskxystrs</link>
                <description>Request Lifecycle در لاراولهمیشه وقتی درک کنیم یه چیزی چطوری کار میکنه، حس بهتری به اون ابزار داریم و میتونیم راحت تر با اون کار کنیم. این حس در توسعه نرم افزار هم وجود داره، پس ما باید بدونیم ابزاری که باهاش کار میکنیم داره چجوری کار میکنه !!وقتی شما میدونید یه ابزار داره کار خودشو به چه صورتی انجام میده خیلی راحت تر میتونید با اون کار کنید و از اون استفاده کنید.در هر قسمتی از این مقاله اگه احساس کردید قسمتی رو متوجه نمیشید میتونید کامنت کنید تا براتون شفاف تر توضیح بدم، البته یه قسمت هایی هم وجود داره که با توجه به سطح تجربه و دانش شما، ممکنه درکش براتون سخت تر باشه، البته نگران نباشید میتونید برید و درباره اون بخش مقالاتی بخونید و سطح مهارت خودتون در اون بخش رو افزایش بدید تا درک اون بخش براتون ساده تر بشه.گام اولنقطه شروع یه برنامه لاراول از فایل index.php هست، این فایل در پوشه public به صورت پیشفرض وجود داره و همه درخواست هایی که به سرور ارسال میشه وارد این فایل میشن و این فایل فقط وظیفه بارگزاری چهارچوب لاراول رو داره و کد خیلی زیادی هم داخلش نیست.در اولین قدم autoloader که توسط composer ساخته شده بارگیری میشه و سپس درخواست وارد فایل bootstrap/app.php میشه و در این فایل لاراول اپلیکیشن رو بارگیری میکنه.گام دومدر دومین قدم تمامی درخواست ها وارد فایل کرنل HTTP یا هسته اصلی پردازش درخواست های HTTP میشن. این هسته درواقع فایل kernel.php  هست که در پوشه app در زیر پوشه http وجود داره. app/Http/Kernel.php این فایل در واقع یک کلاس هست که از  Illuminate\Foundation\Http\Kernel گرفته شده یا همون extend شده. در این کلاس ارایه ای از bootstrappers هست که قبل از اجرا ساخته میشه. که اون ها شامل تنظیم ارور هندلینگ، لاگ، بارگیری environment های لاراول و چیز هایی که قبل از پردازش درخواست، نیاز هست که بارگیری بشن.به طور معمول، این کلاس ها پیکربندی داخلی لاراول را انجام می دهند که نیازی به نگرانی در مورد اون ها ندارید.بعد از این مرحله در کرنل لیستی از middleware وجود داره که قبل از رسیدن به برنامه، درخواست باید از داخل این middleware ها رد بشه، کار این middleware ها خواندن و نوشتن session یا بررسی حالت تعمیر و نگهداری، تایید توکن CSRF و موارد دیگه هست.گام سوم - سرویس پرووایدر هایکی از مهمترین وظایف در مراحل bootstrappers بارگزاری service providers هست.این سرویس ها وظیفه ثبت اجزای مختلف لاراول هستند. اجزای مختلفی مانند دیتابیس ها، صف ها، ولیدیشن ها، روتر ها و غیره. به این نکته دقت کنید که همه این سرویس پرووایدر ها داخل ارایه ای در config/app.php وجود دارند که میتونید برید داخل این فایل و اونهارو مشاهده کنید.در واقع لاراول از این ارایه اونهارو بارگزاری میکنه و سپس متد register را در تمامی اون ها فراخوانی میکنه، بعد از register شدن همه سرویس پروایدر ها، به نوبت متد boot اون ها فراخوانی میشن. پس لازمه بدونید که اگر شما نیاز دارید که داخل یک سرویس پروایدر از ابزاری که مربوط به سرویس پروایدر دیگری هست استفاده کنید باید کد شما داخل boot سرویس پروایدر باشه تا قبل از فراخوانی متد شما اون ابزار register شده باشه و در دسترس باشه.اساسا تمامی خدمات اصلی در لاراول، bootstrapped  شده اند و همه اون ها توسط سرویس پروایدر ها پیکربندی میشن. از اون جایی که سرویس پروایدر ها وظیفه bootstrap  و پیکربندی تمامی خدمات اصلی لاراول رو به عهده دارن، پس میتونید بگیم service providers ها مهم ترین جنبه تمام bootstrap process فریم ورک لاراول هستند.گام چهارم - مسیر یابی یا Routingیکی از مهمترین سرویس پروایدر ها در لاراول RouteServiceProvider هست که وظیفه بارگزاری فایل های روت در نرم افزار رو داره. کار این سرویس پروایدر در واقع همون مسیر یابی و اتصال یک کاربر به یه کنترلر و دریافت نتیجه هست.در روتر امکان استفاده از Middleware هم وجود داره و شما میتونید به هر مسیری یک Middleware خاص اضافه کنید. در واقع Middleware ها یک مکانیزم خوب و عالی برای فیلتر و بررسی درخواست های HTTP هستند، برای مثال شما میتونید با استفاده از یک Middleware بررسی کنید که آیا کاربر شما وارد حساب کاربری خود شده است یا خیر؟؟ اگه وارد نشده بود Middleware کاربر رو به صفحه ورود هدایت خواهد کرد.البته برخی از Middleware  ها به تمامی مسیر ها اختصاصی داده شده اند که در قبل گفته شد و اونها در Kernel بررسی خواهند شد.تمامی درخواست ها پس از رد شدن از زنجیره ای از Middleware  ها وارد کنترلر میشوند و در انجا پردازش انجام شده و نتیجه توسط زنجیره دیگری از middleware بازگشت داده خواهد شد و در این بخش برنامه فرصتی برای اصلاح و بررسی خروجی خود دارد.بعد از این بخش پاسخ به کرنل HTTP خواهد رسید و این کلاس پاسخ را به index.php میرساند و کاربر میتواند خروجی درخواست خود را در مرورگر ببیند.امیدوارم این مبحث رو تونسته باشم به خوبی و سادگی براتون توضیح داده باشم و کمک کوچیکی به شما برای درک بهتر Request Lifecycle لاراول کرده باشم.</description>
                <category>میلاد خداوردی</category>
                <author>میلاد خداوردی</author>
                <pubDate>Tue, 02 Aug 2022 12:49:05 +0430</pubDate>
            </item>
                    <item>
                <title>افزودن پروژه gitlab بر روی cpanel</title>
                <link>https://virgool.io/@miladkh/%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-gitlab-%D8%B1%D9%88%DB%8C-cpanel-tiudhv7hmbnr</link>
                <description>ما در مرحله اول باید یه ssh key بسازیم و اون رو داخل cpanel و gitlab اضافه کنید.وارد صفحه https://asecuritysite.com/encryption/ssh بشیدروی دکمه بزنید و بخش public key و private key که علامت گذاشتم رو کپی کنید در ادامه داخل هاست وارد میکنیمدر مرحله بعد وارد cpanel بشید و از بخش Security به قسمت SSH Access برید و طبق عکس های زیر جلو برید.و بعد روی Generate Key بزنید.بعد از ساخت ssh و تکمیل مراحل بالا مجدد به بخش SSH Access برید و در لیست public Keys اون SSH که ساختید رو انتخاب کنیدحالا کافیه که کد قبلی که کپی کردیم رو اینجا وارد کنید.در ادامه باید به گیت لب برید و طبق عکس زیر کد public key یا بخش دوم اولین مرحله رو اینجا وارد کنیدطبق عکس زیر اطلاعات رو وارد کنیدبعد از وارد کردن اطلاعات روی Add key بزنید و تمام!!! شما ارتباط بین گیت لب و سرورتون رو برقرار کردید حالا باید داخل cpanel اون ssh که ایجاد کردید رو تایید کنید.به cpanel برگردید و وارد SSH Access بشیددر صورتی که موفقیت امیز باشه پیغام زیر رو نشون میدهو حالا ارتباط بین سرور و گیت لب کاملا برقراره و شما کافیه برید و پروژتون رو کلون کنید.برای اینکار به صفحه گیت لب پروژتون برید و طبق عکس زیر لینک کلون کردن پروژه با استفاده از ssh رو کپی کنیدحالا به cpanel بر میگردیم و از بخش Files وارد Git Version Control میشیمو تمام تبریک میگم پروژه رو تونستید روی Cpanel کلون کنید</description>
                <category>میلاد خداوردی</category>
                <author>میلاد خداوردی</author>
                <pubDate>Thu, 10 Feb 2022 17:19:24 +0330</pubDate>
            </item>
            </channel>
</rss>