این مطلب شاید شروع استفاده کاربردی از زند فریم ورک 2 باشه. در این مطلب به معرفی پوشه ها و فایل های موجود در زند فریم ورک ۲ خواهیم پرداخت. در مطلب بعدی به نحوه نصب زند فریم ورک ۲ می پردازیم. در زند فریم ورک ۲ شما 95 درصد زمان کد نویسی را به نوشتن ماژول اختصاص خواهید داد. تمام کد های اصلی شما در پوشه module قرار دارند. به شکل زیر توجه کنید :

zf2-structure

  • zf2plugin-.. نام پروژه
  • config : پوشه مربوط به فایل های تنظیمات سیستمی و تنظیمات پایه.
  • module :‌ محل قرار گیری ماژول ها
  • public : شامل فایل index.php و فایل های css و js  و … .
  • vendor : پوشه ای که کتابخانه های خارجی از جمله زند فریم ورک ۲ در آن قرار میگیرند.
  • init_autoloader.php برای بارگزاری(autoload) کتابخانه ها استفاده می شود.

 


 

در گام بعدی شکل زیر از ساختار زند فریم ورک ۲ را بررسی میکنیم :

zf2-structure-config

 

  • application.config.php این فایل شامل تنظیمات سیستمی است. مطلب : زند فریم ورک ۲ – انواع تنظیمات را مطالعه نمایید. در این فایل ماژول ها تعریف می شوند و همچنین نحوه فراخوانی فایل های تنظیمات از پوشه autoload مشخص می شود.
  • global.php هر فایلی که در پوشه autoload با global.php پایان یابد به صورت خودکار در تنظیمات زند در نظر گرفته می شود.
  • local.php تفاوت فایلهای local.php با global.php این است که این فایل ها در git به صورت ignore تعریف شده اند که میتواند شامل کلمه عبور پایگاه داده و اطلاعات حساس باشد.

 

 


 

پوشه ماژول ها میتواند شامل موارد زیر باشد. در پوشه module به تعداد دلخواه میتوان ماژول اضافه کرد.

zf2-structure-module

 

  • Sample نام ماژول
  • module.config.php فایل تنظیمات مربوط به هر ماژول که شامل پوشه قرار گیری view و تنظیمات route و معرفی سرویس های ایستا و سرویس مترجم و … می باشد.
  • src/Sample در این پوشه فایل ها و کلاس های مربوط به ماژول قرار میگیرند.
  • Controller در این پوشه فقط فایل های کنترلر قرار میگیرند و به صورت پیش فرض تمامی فایل هایی که در این فولدر قرار دارند با پسوند Controller پایان می یابند.
  • Form شامل کلاس هایی است که برای ایجاد فرم ها استفاده می شوند.
  • Helper در هر ماژول ممکن است به plugin ها و کمک کننده ها نیاز داشته باشیم. در این پوشه میتوانیم این فایل ها را قرار دهیم.
  • Model به صورت پیش فرض در زند فریم ورک ۲ به ازای هر جدول در پایگاه داده در این پوشه ها کلاس هایی ایجاد می شوند که وظیفه CRUD را بر عهده دارند. این فایل ها توسط برنامه نویس ایجاد می شود.
  • view در این پوشه تمام محتوای مربوط به نمایش یا View قرار میگیرند که شامل فایل هایی با محتوای html و php هستند و تمام فایل ها با فرمت phtml پایان می یابند.
  • view/sample در پوشه view مربوط به هر ماژول پوشه ای با نام همان ماژول باید وجود داشته باشد (پیش فرض زند).
  • view/sample/index این پوشه به کنترلر Index اشاره دارد و به ازای هر کنترلر در ماژول بایستی پوشه جدیدی در این بخش افزوده شود.
  • index.phtml در کنترلر ها متد هایی وجود دارد که پسوند Action دارند. به ازای هر Action در این پوشه بایستی فایل هایی با نام همان اکشن ایجاد گردد. این فایل نشان می دهد که در کنترلر IndexController متدی با نام indexAction وجود دارد.
  • Module.php اصلی ترین فایل هر ماژول است که شامل تنظیمات پویای هر ماژول می باشد در ابن بخش میتوانید برای ماژول خود plugin ها و سرویس ها را تعریف نمایید.

 

 


 

zf2-structure-vendorپوشه مربوط به vendor در واقع شامل کتابخانه هایی است که شما به پروژه خود اضافه میکنید. دقت نمایید که تمام ماژول های خارجی بایستی در این پوشه قرار بگیرند. پوشه ی zendframework شامل کتابخانه اصلی زند فریم ورک ۲ می باشد. البته ممکن است به جای zendframework از کلمه ZF2 استفاده شده باشد که بستگی به تنظیمات فایل autoloader دارد.

 

 

در نهایت در نظر داشته باشید که اگر از کتابخانه های خارجی استفاده مینمایید تا حد امکان از دستکاری و کدنویسی در این کتابخانه ها پرهیز کنید. چرا که یا امکان به روزرسانی کتابخانه مورد نظر را ازدست خواهید داد و یا تغییراتی که اعمال کرده اید از بین خواهد رفت. لذا اصولا کتابخانه های خارجی نباید تغییر کنند. مگر در شرایط اضطراری. در رابطه با نحوه نوشتن کد ها و کلاس ها و تعریف متغیر ها و استاندارد های کد نویسی به زودی مطلبی تحت عنوان استاندارد های PSR خواهیم نوشت. برای شروع میتوانید از این وب سایت برای استاندارد سازی کد های خود استفاده نمایید :‌

http://www.php-fig.org

 

محمد باقر رستمی

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

Latest posts by محمد باقر رستمی (see all)

facebooktwittergoogle_pluslinkedin

یک نظر در رابطه با “زند فریم ورک ۲ – ساختار

  1. سید مصطفی

    سلام،

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

    پاسخ

دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

*