با عرض سلام خدمت کاربران عزیز سایت پی وی لرن و کاربرانی که دوره کامل آموزش لاراول را دنبال می کنند، با آموزش لاراول در جلسه ۰۴ در خدمت شما عزیزان هستیم، در این جلسه قصد داریم تا شما را با ساختار برنامه در لاراول آشنا کنیم، در ادامه این مبحث به طور خلاصه مباحثی نظیر کنسول، رویدادها، http jobs و … را در توضیحات ساختار برنامه در laravel بررسی خواهیم کرد.
ساختار برنامه در laravel اساسا ساختار پوشه ها، زیر پوشه ها و فایل های موجود در یک پروژه است. ساختار برنامه در laravel به این صورت است که هنگامی که ما یک پروژه در لاراول ایجاد می کنیم، ما یک مرور کلی از ساختار برنامه را می بینیم که در تصویر نشان داده شده است.
در اینجا به پوشه ریشه لاراول یعنی laravel-project اشاره دارد.
این شامل زیر پوشه ها و فایل های مختلف است. تجزیه و تحلیل پوشه ها و فایل ها همراه با جنبه های کاربردی آن در زیر ارائه شده است.
نمونه ساختار برنامه در laravel :
ساختار برنامه در laravel
این پوشه برنامه است و شامل کل کد منبع پروژه می باشد. که شامل وقایع، استثنا و اعلام میان افزار است. پوشه برنامه شامل پوشه های مختلف زیر است که در زیر توضیح داده شده است.
کنسول شامل دستورات دستیار لاراول است. این شامل یک پوشه به نام Commands است که در آن تمام دستورات با امضای مناسب اعلام شده است.
فایل Kernal.php دستورات اعلام شده در Inspire.php را فراخوانی می کند.
اگر ما نیاز به یک فرمان خاص در لاراول داریم، پس باید تغییرات لازم را در این فهرست انجام دهیم.
این پوشه شامل تمام رویدادهای پروژه می باشد.
رویدادها برای هدایت فعالیت ها، افزایش خطاها یا اعتبارسنجی لازم و انعطاف پذیری بیشتر استفاده می شود.
لاراول همه رویدادها را زیر یک پوشه نگه می دارد. فایل پیش فرض شامل event.php است که همه رویدادهای اصلی در آن اعلام شده است.
این پوشه حاوی تمام روش های مورد نیاز برای رسیدگی به استثناء است.
همچنین شامل فایل handle.php است که تمام استثنائات را مدیریت می کند.
پوشه Http دارای زیر پوشه هایی برای کنترل کننده ها، میان افزار ها و درخواست های برنامه است.
همانطور که Laravel از الگوی طراحی MVC پیروی می کند، این پوشه شامل مدل، کنترل کننده ها و نمایش هایی است که برای دایرکتوری های خاص تعریف شده اند.
زیر پوشه Middleware شامل مکانیزم میان افزار است که شامل مکانیزم فیلتر و ارتباط بین پاسخ و درخواست است.
زیر پوشه Middleware شامل مکانیزم میان افزار است که شامل مکانیزم فیلتر و ارتباط بین پاسخ و درخواست است.
Sub-folder شامل تمام درخواست های برنامه می شود.
دایرکتوری مشاغل، فعالیت های Laravel را حفظ می کند. کلاس پایه در میان تمام مشاغل تقسیم می شود و یک مکان مرکزی برای قرار دادن آنها در زیر یک سقف قرار می دهد.
وابسته به رویداد هستند و شامل روش هایی هستند که برای رسیدگی به رویدادها و استثناها استفاده می شوند.
به عنوان مثال، رویداد ورود شامل یک رویداد LoginListener است.
سیاست ها، کلاس های PHP هستند که شامل منطق مجوز هستند. Laravel شامل یک ویژگی برای ایجاد تمام منطق مجوز در کلاس های سیاست در داخل این زیر پوشه است.
این پوشه شامل همه ارائه دهندگان خدمات مورد نیاز برای ثبت رویدادها برای سرورهای اصلی و پیکربندی برنامه Laravel است.
این پوشه تمام اسکریپت های بوت استرپ برنامه را محصور می کند. این شامل یک زیر پوشه یعنی حافظه پنهان است که شامل تمام فایل های مربوط به ذخیره سازی یک برنامه وب است. شما همچنین می توانید فایل app.php را پیدا کنید که ابتدا اسکریپت هایی را که لازم است را برای بوت استرپ در نظر گرفته است.
پوشه پیکربندی شامل پیکربندی های مختلف و پارامترهای مربوطه برای کارکرد صحیح یک برنامه Laravel مورد نیاز است.
فایل های مختلف موجود در پوشه پیکربندی همانطور که در تصویر نشان داده شده است.
نام فایل ها به عنوان عملکرد مربوط به آنها کار می کنند.
همانطور که از نام آن پیداست، این فهرست شامل پارامترهای مختلف برای ویژگی های پایگاه داده است.که شامل سه زیر فهرست به شرح زیر است.
Seeds : این شامل کلاس هایی است که برای پایگاه داده تست واحد استفاده می شود.
Migrations : این پوشه برای پرس و جو برای مهاجرت پایگاه داده مورد استفاده در برنامه وب کمک می کند.
Factories : این پرونده برای تولید تعداد زیادی سوابق داده استفاده می شود.
این پوشه ای است که همه logs و فایل های لازم را که اغلب در هنگام اجرای پروژه Laravel مورد نیاز است، ذخیره می کند.
زیرپوشه های موجود در این پوشه و هدف آنها در زیر آمده است.
app : این پوشه حاوی فایل هایی است که به صورت متوالی نامیده می شوند.
framework : شامل جلسات، cache و views است که frequently نامیده می شوند.
logs : همه استثناء ها و log ها در این زیر پوشه ردیابی می شوند.
tests
تمام موارد آزمایش واحد در این فهرست گنجانده شده است. کنوانسیون نامگذاری برای نامگذاری کلاس های آزمون، camel_case است و متعاقبا به عنوان عملکرد کلی کلاس، پیروی می کند.
Laravel کاملا مبتنی بر وابستگی های Composer است، به عنوان مثال برای نصب Laravel یا قرار دادن کتابخانه های شخص ثالث، و غیره.
پوشه vendor شامل تمام وابستگی های Composer است.
علاوه بر موارد فوق، Laravel همچنین شامل برخی از فایل های دیگر است که نقش اصلی را در ویژگی های مختلف مانند تنظیمات GitHub، بسته ها و کتابخانه های شخص ثالث بازی می کند.
فایل های موجود در ساختار برنامه در زیر نشان داده شده اند.
ساختار برنامه در لاراول ، میتواند نقطه شروع مناسبی برای ایجاد برنامههای کوچک و بزرگ لاراول باشد. شما در سازماندهی ساختار برنامه در لاراول خود، طبق چیزی که میخواهید آزاد هستید. در این فریم ورک، تا زمانی که کامپوزر بتواند کلاسها را بارگذاری کند، لاراول تقریبا هیچ محدودیتی در مورد محل قرارگیری کلاسها برای شما تعیین نمیکند.