تخفیف تابستانی سال ۱۳۹۹ تاپایان: پنجشنبه ۱۲ تیر ۱۳۹۹
بزن بریم فروشگاه

درس 3 - ساختار اپلیکیشن های Laravel

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

بعد از اینکه یک نسخه ی تازه از لاراول را نصب کردید با یک سری پوشه و فایل و ... روبرو میشوید که در زیر به توضیح آنها اشاره میکنیم تا ساختار لاراول را درک کنید.

در تصویر زیر شما اسکرین شاتی از ریشه ی اصلی یک پروژه ی لاراول به نام laravel-project را میبینید.

در تصویر زیر فولدر ها وفایل های زیادی وجود دارد ، تجزیه و تحلیل پوشه ها و پرونده ها به همراه جنبه های عملکردی آنها در زیر آورده شده است.

ساختار پروژه ی لاراولی

بررسی و تحلیل ساختار پروژه های لاراولی 

در ادامه به بحث درباره ی هر یک از پوشه ها و فایل های مهم که در ساختار پروژه های لاراولی وجود دارد خواهیم پرداخت.

 

- فولدر app در لاراول

این پوشه ، پوشه ی اصلی برنامه ی شماست و شامل کدمنبع اصلی مربوط به پروژه ی شما با لاراول است.

این فولدر شامل مواردی مثل events, exceptions و middleware هست.

 

-- console 

پوشه ی console شامل دستورات Artisan است که ابزاری مهم برای فریمورک لاراول است.درون پوشه ی console یک پوشه ی دیگری به نام Commands وجود دارد که محل دستورات artisan است.

فایل Kernal.php دستورات درون فایل Inspire.php را صدا میزند.

	 آموزش لاراول - ساختار و پوشه های لاراول 01

پس اگر به دنبال دستورات اختصاصی یا فرمان اختصاصی در لاراول هستید باید در این پوشه انجام دهید.

 

-- Events
این پوشه شامل event های مربوط به لاراول است.

events در لاراول آموزش لاراول فارسی

event ها در لاراول برای پیگیری فعالیت ها ، خطاهای رخ داده یا اعتبار سنجی های ضروری مورد استفاده قرار میگیرد و انعطاف پذیری بیشتری به توسعه دهنده ی وب میدهد.

لاراول تمام event ها را در زیر یک دایرکتوری ( پوشه ) نگهداری میکند.

بصورت پیشفرض درون پوشه ی Events یک فایل به نام event.php  وجود دارد که رخدادهای بیسیک یا پایه ای در آن تعریف میشود.

پیشنهاد ویژه : اگر به دنبال آموزش لاراول خوب میگردید دوره ی آموزش کامل فریمورک لاراول مهندس نیک زاد را از دست ندهید.


-- Exceptions

این فولدر شامل تمامی متود ها برای کنترل کردن استثناها یا exception در لاراول است.درون این دایرکتوری یک فایل به نام handle.php وجود دارد که تمام این کارها را انجام میدهد و exception ها را مدیریت و کنترل میکند.

 

-- Http 

این دایرکتوری یکی از مهمترین بخش های فریمورک لاراول است. در این دایرکتوری چند زیردایرکتوری به نام های controllers ، middleware و application requests موجود است.

از آنجایی که لاراول از الگوی MVC پیروی میکند این دایرکتوری شامل model ، controller و view های تعریف شده برای هربخش میباشد.

زیردایرکتوری دیگری به نام Middleware وجود دارد که مکانیسم middleware لاراول درآنجا تعریف میشود که فیلترهای مختلف و مکانیسم های لازم برای مدیریت درخواست های بین request و respons را کنترل میکند.

زیردایرکتوری Requests شامل تمامی request های مربوط به اپلیکیشن لاراولی است.


-- Jobs

دایرکتوری jobs در فریمورک لاراول ، فعالیت هایی که صف بندی شده اند را نگهداری میکند. کلاس اصلی بین دیگر Job ها به اشتراک گذاشته میشود و یک مکان مرکزی برای اتصال همه ی آنهاست.

 

-- Listeners

listener ها وابسته به رویداد هستند که شامل متود هایی هستند که event ها و exception ها را استفاده و مدیریت میکنند.

بعنوان مثال عمل لاگین کردن یک رخداد به نام LoginListener دارد.

 

-- Policies

Policies کلاس های PHP هستند که شامل منطق احراز و مجوزها میباشد. فریمورک لاراول شامل یک ابزاری برای ساخت تمامی احراز هویت ها توسط کلاس های Policy در درون این زیردایرکتوری فراهم میکند.

 

-- Providers

این دایرکتوری شامل service provider ها میباشد که برای رجیستر کردن event ها برای سرورهای اصلی میباشد و همچنین اپلیکیشن لاراول را کانفیگ میکند.

 

- فولدر Bootstrap در لاراول

این فولدر شامل تمام اسکریپت های Bootstrap اپلیکیشن لاراولی است. این فولدر دارای یک زیردایرکتوری به نام cache میباشد که شامل تمام فایل های مربوط به کش اپلیکیشن لاراولی است.

همچنین شما میتوانید یک فایل به نام app.php را پیدا کنید که راه اندازی اولیه اپلیکیشن لاراول است.

 

- فولدر Config در لاراول

فولدر config شامل تنظیمات و پارامترهای مرتبط مختلف است تا اپلیکیشن لاراولی عملکرد صحیح خود را داشته باشد.فایل های زیادی در این بخش وجود دارد که در تصویر زیر نشان داده شده است.

نام فایل ها نشان دهنده ی عملیات آن فایل است.

تنظیمات فریمورک لاراول

- فولدر Database در لاراول

همانطور که از نام این فولدر پیداست این فولدر شامل پارامتر های مختلف برای کار با پایگاه داده است.این بخش شامل سه زیردایرکتوری است که در زیر آمده است.

 -- Seeds -> این بخش برای ساخت اطلاعات تستی یا آزمایشی در پایگاه داده استفاده میشود.

-- Migrations -> این بخش شامل تمام مایگریشن هاست که عمل کوئری روی پایگاه داده انجام میدهند.

-- Factories -> این بخش برای تولید داده ها با حجم زیاد استفاده میشود.

 

- فولدر Public در لاراول

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

 -- .htaccess این فایل برای تنظیمات سرور در لاراول مورد استفاده قرار میگیرد.

-- javascript و css این ها بعنوان assets تعریف شده اند.

-- index.php این اولین فایلی است که از اپلیکییشن اجرا میشود و برای اجرا اولیه اپلیکیشن لاراولی مورد نیاز است.

 

- فولدر Resources در لاراول

فولدر Resources دارای فایل هایی هست که اپلیکیشن لاراولی شما را تقویت میکند.زیردایرکتوری های این بخش در زیر به همراه جزيیات آنها آورده شده است.

-- assets این دایرکتوری شامل فایل های LESS و SCSS است که برای استایل دهی به سایت لاراولی مورد نیاز است.

-- lang این بخش برای تنظیمات محلی و زبان است که برای منطقه ی مورد استفاده ی لاراول قابل تنظیم است.

-- views ویو ها فایل های HTML یا تمپلیت هستند که قالب اصلی سایت را برای مشاهده توسط بازدید کننده فراهم میکنند . این بخش جزو یکی از بخش های MVC است.

در تصویر زیر این بخش را مشاهده میکنید و زیرپوشه های آن لیست شده است.

	 پوشه ی resources فریمورک لاراول

- فولدر Storage در لاراول

این فولدر دارای لاگ ها و فایل های ضروری اپلیکیشن Laravel است.

زیردایرکتوری ها و عملکرد آنها در زیر نوشته شده است.

-- app این پوشه حاوی پرونده هایی است که پشت سر هم خوانده می شوند

-- framework این بخش شامل session ها ، کش و view هایی هست که بصورت مکرر فراخوانی میشوند.

 

- فولدر Tests در لاراول

تمام واحد های تست در این بخش قرار داده میشوند.سیستم نامگذاری camel_case است یعنی تمام کلمات به هم چسبیده هستند و حرف اول همه ی کلمات با حرف بزرگ نوشته میشود ولی حرف اول کلمه ی اول با حرف کوچک نوشته میشود به این صورت thisIsPhpFrameworkForYou ...

 

- فولدر Vendor در لاراول

فریمورک لاراول کاملا مبتنی بر وابستگی های composer است برای مثال هنگام نصب لاراول یا تنظیم یا نصب یک کتابخانه ی جانبی شما از composer بهره میگیرید. فولدر Vendor شامل تمام وابستگی های ( dependencis ) فریمورک لاراول است.

علاوه بر پرونده های ذکر شده در بالا ، لاراول شامل فایلهای دیگری نیز می باشد که در عملکردهای مختلف مانند پیکربندی GitHub ، بسته ها و کتابخانه های جانبی نقش اصلی را ایفا می کنند.

در تصویر زیر فایل ها و فولدرهای آنرا مشاهده میکنید.

فولدر vendor در فریمورک لاراول و کاربرد آن

اتمام این درس