سیمفونی (به انگلیسی: Symfony) یک چارچوب نرمافزاری تحت وب متنباز است که برای ساختِ وبگاههای پویا بهکار میرود. این چارچوب که با زبان پیاچپی نوشته شدهاست، کار توسعهٔ نرمافزار را در سنجش با کدنویسی از آغاز شتاب میبخشد. این شتاببخشی توسط کتابخانههای این چارچوب انجام میشود که بسیاری از آنها کارهای رایج را بهسادگی انجام میدهند. این چارچوب بر اساس مدل معماری مدل-نما-کنترلگر (به انگلیسی: MVC) کار می کند.این چارچوب پیاده سازی های شما را بر اساس بسته های (به انگلیسی: bundle) ایجاد کرده پیش خواهد برد و شما نیز می تواند از هزاران بسته نوشته شده متن باز دیگران در پروژه خود استفاده کنید.
این چارچوب بطور پیش فرض از موتور قالب توئیگ (به انگلیسی: twig) پشتیبانی می کند و همچنین نگاشت رابطه ای اشیا (به انگلیسی: ORM) آن داکترین (به انگلیسی: Doctrine) می باشد. وبگاه سیمفونی در ۱۸ اکتبر ۲۰۰۵ شروع به کار کرد. بسیاری از پروژه های بزرگ مانند سیستم مدیریت محتوا (به انگلیسی: CMS) دروپال(به انگلیسی: Drupal) از این چارچوب استفاده نموده اند.
Symfony به صورت خلاصه از قسمت های زیر تشکیل شده است:
- routing و یا مسیر یابی: این بخش مسولیت مسیریابی و انتخاب controller مختص هر وظیفه را دارد. مثلا در routing مشخص می کنیم که اگر کاربر در مرورگر خود آدرس /aboutus را به منظور دستیابی به صفحه "درباره ما" درخواست داد، باید این درخواست به controller مخصوص نمایش صفحه aboutus رجوع داده شود.
- entity: این بخش مسولیت سرو سامان بخشیدن به ارتباطات دیتابیس را بر عهده دارد. مثلا در این بخش روابط موجود بین جدول های بانک اطلاعاتی مشخص می شود. در این بخش نام هر فیلد، محدودیت های نوع و طول آن ها و امور دیگر مشخص می شود.
- view: در این بخش فایل های مربوط به نمایش اطلاعات با هم جمع شده اند. البته این بخش فقط حاوی اسکلت بندی بخش نمایش است، چون داده ها باید از دیتابیس دریافت، تبدیل به شی و در این بخش استفاده شوند.
- controller: اصلی ترین بخش هر برنامه ای در symfony همین بخش است. routing بر اساس ورودی، controller خاص را انتخاب می کند، از این به بعد کل وظایف با controller است و کار با routing تمام می شود. Controller پس از دریافت ورودی ها و انجام پردازش های مورد نظر و یا حتی دریافت اطلاعات از model خروجی مناسب را برای نمایش آماده و نتیجه را به کاربر نمایش می دهد.
- form: این بخش فرم های مورد استفاده در برنامه را ذخیره می کند. البته استفاده از این بخش و یا حتی بخش view اجباری نیست ولی کنار گذاشتن آن ها با ساده سازی فرایند ها و هدف اصلی استفاده از فریم ورک منافات دارد.
ارسال پیام