نسخه:

ساختار برنامه

معرفی

ساختار برنامه پیش فرض لاراول برای ارائه یک نقطه شروع عالی برای برنامه های بزرگ و کوچک در نظر گرفته شده است. البته، شما آزاد هستید که برنامه خود را هر طور که دوست دارید سازماندهی کنید. لاراول تقریباً هیچ محدودیتی برای مکان هر کلاس خاص اعمال نمی کند - تا زمانی که Composer بتواند کلاس را به طور خودکار بارگذاری کند.

دایرکتوری ریشه

دایرکتوری ریشه یک نصب جدید لاراول حاوی انواع پوشه ها است:

دایرکتوری app ، همانطور که ممکن است انتظار داشته باشید، حاوی کد اصلی برنامه شما است. به زودی این پوشه را با جزئیات بیشتری بررسی خواهیم کرد.

پوشه bootstrap حاوی چند فایل است که فریم ورک را بوت می کنند و بارگذاری خودکار را پیکربندی می کنند.

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

پوشه database حاوی مهاجرت پایگاه داده و seeds شما است.

دایرکتوری public شامل کنترلر جلویی و دارایی های شما (تصاویر، جاوا اسکریپت، CSS و غیره) است.

فهرست resources شامل نماها، دارایی‌های خام (LESS، SASS، CoffeeScript) و فایل‌های "زبان" شما است.

دایرکتوری storage شامل قالب های Blade کامپایل شده، جلسات مبتنی بر فایل، کش فایل ها و سایر فایل های تولید شده توسط فریم ورک است.

فهرست tests شامل تست های خودکار شماست.

دایرکتوری vendor حاوی وابستگی های Composer شما است.

فهرست برنامه

"گوشت" برنامه شما در app دایرکتوری زندگی می کند. به طور پیش‌فرض، این فهرست در زیر فضای نام قرار دارد App و توسط Composer با استفاده از استاندارد بارگیری خودکار PSR-4 بارگیری می‌شود . می توانید این فضای نام را با استفاده از app:name دستور Artisan تغییر دهید .

دایرکتوری app با انواع دایرکتوری های اضافی مانند Console ، Http و و ارسال می شود Providers . Console و Http دایرکتوری ها را به عنوان یک API در "هسته" برنامه شما در نظر بگیرید . پروتکل HTTP و CLI هر دو مکانیسم هایی برای تعامل با برنامه شما هستند، اما در واقع حاوی منطق برنامه نیستند. به عبارت دیگر، آنها به سادگی دو راه برای صدور دستورات به برنامه شما هستند. دایرکتوری Console شامل تمام دستورات Artisan شما است، در حالی که Http دایرکتوری شامل کنترلرها، فیلترها و درخواست های شما می باشد.

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

دایرکتوری Events ، همانطور که ممکن است انتظار داشته باشید، کلاس های رویداد را در خود جای داده است. البته استفاده از کلاس ها برای نمایش رویدادها لازم نیست. با این حال، اگر انتخاب کنید از آنها استفاده کنید، این دایرکتوری محل پیش فرضی است که توسط خط فرمان Artisan ایجاد می شود.

دایرکتوری Handlers شامل کلاس های کنترل کننده برای دستورات و رویدادها است. هندلرها یک فرمان یا رویداد را دریافت می کنند و در پاسخ به آن فرمان یا رویدادی که شلیک می شود، منطق را انجام می دهند.

دایرکتوری Services شامل سرویس‌های «کمک‌کننده» مختلفی است که برنامه شما برای عملکرد به آن نیاز دارد. به عنوان مثال، Registrar سرویس ارائه شده با لاراول مسئول اعتبارسنجی و ایجاد کاربران جدید برنامه شما است. مثال‌های دیگر ممکن است سرویس‌هایی برای تعامل با APIهای خارجی، سیستم‌های معیار یا حتی سرویس‌هایی باشد که داده‌ها را از برنامه کاربردی خود جمع‌آوری می‌کنند.

دایرکتوری Exceptions شامل کنترل کننده استثنای برنامه شما است و همچنین مکان خوبی برای چسباندن هر گونه استثنایی است که توسط برنامه شما ایجاد شده است.

توجه: بسیاری از کلاس های دایرکتوری را app می توان توسط Artisan از طریق دستورات تولید کرد. برای بررسی دستورات موجود، php artisan list make دستور را در ترمینال خود اجرا کنید.

فضای نام برنامه شما

همانطور که در بالا توضیح داده شد، فضای نام پیش فرض برنامه App ; با این حال، می توانید این فضای نام را با نام برنامه خود تغییر دهید، که به راحتی از طریق app:name دستور Artisan انجام می شود. به عنوان مثال، اگر نام برنامه شما "SocialNet" باشد، دستور زیر را اجرا می کنید:

php artisan app:name SocialNet