Yii2 یک ساختار جدید و پیشرفته دارد. برای استفاده از وابستگی هایش از کامپوسر استفاده می کند. در حالی که Yii1 فقط یک ساختار کاربردی اولیه دارد. فقط یک پوشه در ریشه کل کد وجود دارد که به طور عمومی برای سرور وب در دسترس است. این پوشه فهرست راهنمای وب (وب دایرکتوری) است. بقیه ی پوشه های خارج از دایرکتوری ریشه وب برای سرور وب غیر قابل دسترسی هستند.
نکته – تمام متعلقات پروژه در فایل composer.json قرار دارد.

Yii2 چند پکیج مهم دارد که از قبل توسط composer در پروژه شما قرار گرفته است. این پکیج ها عبارتند از:

  • Gii : ابزار تولید کد
  • میز اشکال زدایی
  • محل تست کد فریمورک
  • کتابخانه SwiftMailer
  • کتابخانه رابط کاربری توییتر و بوت استرپ

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

  • Assets – این پوشه شامل تمام فایل های .js و .css استفاده شده در صفحه وب است.
  • Commands – این پوشه حاوی کنترل کننده هایی از ترمینال است که می توانند مورد استفاده قرار بگیرند.
  • Config – این پوشه حاوی فایل های پیکربندی برای مدیریت پایگاه داده ها، برنامه ها و پارامترهای برنامه است.
  • Mail – این پوشه شامل طرح بندی (layout) ایمیل است.
  • Models – این پوشه شامل مدل های استفاده شده در برنامه می باشد.
  • Runtime – این پوشه برای ذخیره داده های زمان اجرا است.
  • Tests– این پوشه شامل تمام آزمایش ها (قابل قبول بودن، یکپارچه، تابعی) است.
  • Vendor – این پوشه شامل تمام پکیج های شخص ثالث مدیریت شده توسط Composer است. فایل های سورس Yii در این شاخه قرار دارند. پکیج های شخص ثالث نصب‌شده در این جا ذخیره خواهد شد. در طول آپدیت یا ارتقاء، کدها در این پوشه رونویسی می‌شوند و از این رو از تغییر کد در این شاخه باید اجتناب شود.
  • Views – این پوشه برای نماهایی است که توسط کنترلر ها نمایش داده می شود. پوشه ی طرح بندی الگویی برای صفحه است.
  • Webاین دایرکتوری root سند است که کارگزار وب به آن اشاره می‌کند. فایل index.php فرآیند Yii را هنگامی که فراخوانی می‌شود راه‌اندازی می‌کند. در این فایل کد اشکال‌زدایی را می توان روشن یا خاموش کرد. نوار اشکال‌زدایی در پایین صفحه قابل‌مشاهده است.
    در اینجا می‌توانید هر فایل، تصاویر و یا هر چیز دیگری را که به قابلیت دسترسی به وب نیاز دارد، قرار دهید. فایل های موجود در این پوشه فقط قابل دسترسی خواهند بود. در این دایرکتوری وب یک زیرشاخه به نام asset نیز وجود دارد. این زیر شاخه برای پاسخ به درخواست‌های وب استفاده می‌شود.

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

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

ساختار برنامه در yii
اشیاء Yii2

لیست زیر شامل تمام اشیاء Yii2 است :

مدل ها، نمایه ها، و کنترلر ها
برنامه های Yii بر اساس الگوی معماری مدل MVC سازماندهی شده اند.(Model View Controller)  مدل ها برای فراخوانی داده ها(معمولا از پایگاه داده) هستند. نمایه ها یا View ها برای نمایش اطلاعات و داده ها هستند. کنترلر ها برای پردازش درخواست ها و پاسخ به آنها می باشند.

کامپوننت
برای ایجاد توابع با قابلیت استفاده مجدد، کاربر می تواند اجزای (component) مخصوص خود را بنویسد.(کامپوننت یا جزء به بخشهای کوچکی در حد یک کلاس میگن) کامپوننت ها فقط اشیای حاوی منطق هستند. به عنوان مثال، یک کامپوننت می تواند تبدیل کننده ی وزن باشد.

کامپوننت برنامه 
این کامپوننت ها اشیایی هستند که در کل برنامه فقط یک بار مورد استفاده قرار گرفته اند. تفاوت اصلی بین کامپوننت ها و کامپوننت های برنامه این است که کامپوننت های میتوانند تنها یک نمونه در کل برنامه داشته باشند.

ابزارک ها
ابزارک ها اشیائی با قابلیت استفاده مجدد هستند که حاوی کد های منطقی و کدهای تفسیر هستند. به عنوان مثال یک ابزارک می تواند اسلایدر گالری باشد.

فیلترها
فیلترها اشیایی هستند که قبل یا بعد از اجرای اکشنِ کنترلرها اجرا می شوند.

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

افزونه یا Extension ها

برنامه های اضافی پکیج هایی هستند که توسط نویسنده مدیریت می شوند.

این خبر را به اشتراک بگذارید :