سلام

در قسمت قبل، ساختار مفهومی نرم افزارهای تحت وب و ساختار درختی پروژه ها در چارچوب سیمفونی را بررسی کردیم. در این جلسه ساختار کاربردها و ماژول ها را توضیح خواهیم داد.

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

ساختار درختی کاربردها در سیمفونی

ساختار درختی هر کاربرد در چارچوی سیمفونی به صورت زیر است:

ساختار درختی کاربرد در سیمفونی

پوشه config فایل های پیکربندی YAML را نگهداری می کند. اغلب پیکربندی های مربوط به کاربرد در این پوشه قرار می کیرند. پارامترهای پیش فرض که در خود چارچوب مقداردهی شده اند در اینجا دوباره می توانند به دلخواه مقدار داده شوند.

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

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

پوشه modules همه ماژول ها را نگه می دارد که شامل امکانات کاربرد هشتند.

پوشه templates لیستی از الگوهای عمومی کاربرد( الگوهایی که بین همه ماژول ها مشترک هستند). به طور پیش فرض، شامل فایل های layout.php است که layout کلی کاربرد است و همه layout های ماژول های در آن قرار می گیرند.

توجه: فهرست ها i18n ، lib و modules برای کاربرد جدید خالی هستند.

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

ساختار درختی ماژول در سیمفونی

هر کاربرد شامل یک یا چند ماژول است. هر ماژول در فهرست modules کاربرد دارای زیر فهرست های زیر است:

ساختار درختی ماژول در سیمفونی

پوشه actions  معمولاً شامل یک فایل کلاس با نام action.class.php است که می توانید همه اعمال ماژول را در آن ذخیره کنید. همچنین می توانید اعمال مختلف ماژول را در فایل های جداگانه قرار دهید.

پوشه config می تواند شامل فایل های پیکربندی با پارامترهای محلی برای آن ماژول باشد.

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

پوشه templates شامل الگوای مربوط به فعالیت های ماژول است. یک الگوی پیش فرض که index.class.php نام دارد، هنگام نصب ماژول ساخته می شود.

توجه: پوشه های config و lib برای یک ماژول جدید، خالی خواهد بود.

ساختار درختی پوشه web در سیمفونی

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

در زیر یک مثال از ساختار فهرست web را یبینید:

ساختار درختی web در سیمفونی

برای راحتی کار فایل های ایستا در زیرفهرست های زیر قرار داده می شوند:

پوشه css شامل فایل های استایل شیت با پسوند  css است.

پوشه images حاوی فایل های تصاویر است.

پوشه js دارای فایل های جاوااسکریپت است.

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

 

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

موفق باشید.