سیمفونی ( به انگلیسی: Symfony ) یک چارچوب نرم افزاری تحت وب متن باز است که برای ساختِ وبگاه های پویا به کار می رود. این چارچوب که با زبان پی اچ پی نوشته شده است، کار توسعهٔ نرم افزار را در سنجش با کدنویسی از آغاز شتاب می بخشد. این شتاب بخشی توسط کتابخانه های این چارچوب انجام می شود که بسیاری از آن ها کارهای رایج را به سادگی انجام می دهند. این چارچوب بر اساس مدل معماری مدل - نما - کنترل گر ( به انگلیسی: MVC ) کار می کند. این چارچوب پیاده سازی های شما را بر اساس بسته های ( به انگلیسی: bundle ) ایجاد کرده پیش خواهد برد و شما نیز می تواند از هزاران بسته نوشته شده متن باز دیگران در پروژه خود استفاده کنید. در ساختار اصلی این چاچوب پوشه های زیر را مشاهده می کنید:
< your - project> / ├─ app/ │ └─ config/ │ ├─ config. yml │ ├─ config_dev. yml │ ├─ config_prod. yml │ ├─ config_test. yml │ ├─ parameters. yml │ ├─ parameters. yml. dist │ ├─ routing. yml │ ├─ routing_dev. yml │ └─ security. yml ├─ src/ ├─ vendor/ └─ web/ که اجزای اصلی این چارچوب راتشکیل می دهد. پوشه app برای تنظیمات اصلی و بنیادی پروژه شماست، که شامل فایل های مهم زیر است:
• app/AppKernel. php
• app/config/config. yml
• app/config/routing. yml
پوشه src شامل برنامه نوشته شده توسط شماست که درون خود بسته های ایجاد شده توسط شما را نگهداری می کند. vendor شامل بسته های متن باز دیگران برای استفاده شماست که شما همیشه امکان اضافه نمودن آن ها را دارید و در آخر web شامل نحوه نمایش این چارچوب و همچنین شیوه نامه آبشاری، تصاویر، جاوا اسکریپت و این قبیل فایل های پروژه شماست. این چارچوب به طور پیش فرض از موتور قالب توئیگ ( به انگلیسی: twig ) پشتیبانی می کند و همچنین نگاشت رابطه ای اشیا ( به انگلیسی: ORM ) آن داکترین ( به انگلیسی: Doctrine ) می باشد. وبگاه سیمفونی در ۱۸ اکتبر ۲۰۰۵ شروع به کار کرد. بسیاری از پروژه های بزرگ مانند سیستم مدیریت محتوا ( به انگلیسی: CMS ) دروپال ( به انگلیسی: Drupal ) از این چارچوب استفاده نموده اند.
Symfony به صورت خلاصه از قسمت های زیر تشکیل شده است:
• routing یا مسیر یابی: این بخش مسولیت مسیریابی و انتخاب controller مختص هر وظیفه را دارد؛ مثلاً در routing مشخص می کنیم که اگر کاربر در مرورگر خود آدرس /aboutus را به منظور دستیابی به صفحه «دربارهٔ ما» درخواست داد، باید این درخواست به controller مخصوص نمایش صفحه aboutus رجوع داده شود.
• entity: این بخش مسولیت سرو سامان بخشیدن به ارتباطات دیتابیس را بر عهده دارد؛ مثلاً در این بخش روابط موجود بین جدول های بانک اطلاعاتی مشخص می شود. در این بخش نام هر فیلد، محدودیت های نوع و طول آن ها و امور دیگر مشخص می شود.
• view: در این بخش فایل های مربوط به نمایش اطلاعات با هم جمع شده اند. البته این بخش فقط حاوی اسکلت بندی بخش نمایش است، چون داده ها باید از دیتابیس دریافت، تبدیل به شی و در این بخش استفاده شوند.
• controller: اصلی ترین بخش هر برنامه ای در symfony همین بخش است. routing بر اساس ورودی، controller خاص را انتخاب می کند، از این به بعد کل وظایف با controller است و کار با routing تمام می شود. Controller پس از دریافت ورودی ها و انجام پردازش های مورد نظر یا حتی دریافت اطلاعات از model خروجی مناسب را برای نمایش آماده و نتیجه را به کاربر نمایش می دهد.
• form: این بخش فرم های مورد استفاده در برنامه را ذخیره می کند. البته استفاده از این بخش یا حتی بخش view اجباری نیست ولی کنار گذاشتن آن ها با ساده سازی فرایندها و هدف اصلی استفاده از فریم ورک منافات دارد.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف< your - project> / ├─ app/ │ └─ config/ │ ├─ config. yml │ ├─ config_dev. yml │ ├─ config_prod. yml │ ├─ config_test. yml │ ├─ parameters. yml │ ├─ parameters. yml. dist │ ├─ routing. yml │ ├─ routing_dev. yml │ └─ security. yml ├─ src/ ├─ vendor/ └─ web/ که اجزای اصلی این چارچوب راتشکیل می دهد. پوشه app برای تنظیمات اصلی و بنیادی پروژه شماست، که شامل فایل های مهم زیر است:
• app/AppKernel. php
• app/config/config. yml
• app/config/routing. yml
پوشه src شامل برنامه نوشته شده توسط شماست که درون خود بسته های ایجاد شده توسط شما را نگهداری می کند. vendor شامل بسته های متن باز دیگران برای استفاده شماست که شما همیشه امکان اضافه نمودن آن ها را دارید و در آخر web شامل نحوه نمایش این چارچوب و همچنین شیوه نامه آبشاری، تصاویر، جاوا اسکریپت و این قبیل فایل های پروژه شماست. این چارچوب به طور پیش فرض از موتور قالب توئیگ ( به انگلیسی: twig ) پشتیبانی می کند و همچنین نگاشت رابطه ای اشیا ( به انگلیسی: ORM ) آن داکترین ( به انگلیسی: Doctrine ) می باشد. وبگاه سیمفونی در ۱۸ اکتبر ۲۰۰۵ شروع به کار کرد. بسیاری از پروژه های بزرگ مانند سیستم مدیریت محتوا ( به انگلیسی: CMS ) دروپال ( به انگلیسی: Drupal ) از این چارچوب استفاده نموده اند.
Symfony به صورت خلاصه از قسمت های زیر تشکیل شده است:
• routing یا مسیر یابی: این بخش مسولیت مسیریابی و انتخاب controller مختص هر وظیفه را دارد؛ مثلاً در routing مشخص می کنیم که اگر کاربر در مرورگر خود آدرس /aboutus را به منظور دستیابی به صفحه «دربارهٔ ما» درخواست داد، باید این درخواست به controller مخصوص نمایش صفحه aboutus رجوع داده شود.
• entity: این بخش مسولیت سرو سامان بخشیدن به ارتباطات دیتابیس را بر عهده دارد؛ مثلاً در این بخش روابط موجود بین جدول های بانک اطلاعاتی مشخص می شود. در این بخش نام هر فیلد، محدودیت های نوع و طول آن ها و امور دیگر مشخص می شود.
• view: در این بخش فایل های مربوط به نمایش اطلاعات با هم جمع شده اند. البته این بخش فقط حاوی اسکلت بندی بخش نمایش است، چون داده ها باید از دیتابیس دریافت، تبدیل به شی و در این بخش استفاده شوند.
• controller: اصلی ترین بخش هر برنامه ای در symfony همین بخش است. routing بر اساس ورودی، controller خاص را انتخاب می کند، از این به بعد کل وظایف با controller است و کار با routing تمام می شود. Controller پس از دریافت ورودی ها و انجام پردازش های مورد نظر یا حتی دریافت اطلاعات از model خروجی مناسب را برای نمایش آماده و نتیجه را به کاربر نمایش می دهد.
• form: این بخش فرم های مورد استفاده در برنامه را ذخیره می کند. البته استفاده از این بخش یا حتی بخش view اجباری نیست ولی کنار گذاشتن آن ها با ساده سازی فرایندها و هدف اصلی استفاده از فریم ورک منافات دارد.
wiki: سیمفونی