فریم ورک سیمفونی چیست؟
سیمفونی یکی از بهترین فریم ورک هایی می باشد که می توان از آن نام برد. از سال 2005 پا به دنیای طراحی وب گذاشته و تا به حال با قدرت به فعالیت خود ادامه داده است. سیمفونی یک فریم ورک متن باز است و مجموعه ای از چارچوب ها و استاندارد هایی می باشد که به برنامه نویسان در توسعه سایت و نرم افزار کمک می کند. استفاده کردن از این فریم ورک در پروژه ها مزیت های زیادی دارد. Simfony مجموعه ای از component های php می باشد و بر پایه mvc است و تنها فریم ورکی است که استاندارد های زبان php را رعایت می کند. فریم ورک سیمفونی به آسانی روی پلتفرم نصب می شود و انجمن های کاربری زیادی دارد که نسبت به دیگر فریم ورک ها کار کردن با آن برای توسعه دهنده گان حرفه ای راحت تر است.
فریم ورکهای مطرح php اساسا برای کار خود از مدل mvc برای توسعه استفاده میکنند. mvc یک معماری نرم افزاری است که از حروف ابتدایی کلمات (model, view, control) تشکیل میشود. هدف اصلی این مدل نظم و سرعت بخشیدن به کار توسعه برنامه است. مدل mvc برای اولین بار در سال 1979 معرفی شد.
این فریم ورک توسط شرکتهای مطرح و در محصولات بزرگی استفاده میشود. برخی از استفاده کنندگان این فریم ورک عبارتند از:
Symfony به صورت خلاصه از قسمتهای زیر تشکیل شده است:
routing و یا مسیر یابی: این بخش مسولیت مسیریابی و انتخاب controller مختص هر وظیفه را دارد. مثلا در routing مشخص میکنیم که اگر کاربر در مرورگر خود آدرس /aboutus را به منظور دستیابی به صفحه "درباره ما" درخواست داد، باید این درخواست به controller مخصوص نمایش صفحه aboutus رجوع داده شود.
entity: این بخش مسولیت سرو سامان بخشیدن به ارتباطات دیتابیس را بر عهده دارد. مثلا در این بخش روابط موجود بین جدولهای بانک اطلاعاتی مشخص میشود. در این بخش نام هر فیلد، محدودیتهای نوع و طول آنها و امور دیگر مشخص میشود.
view: در این بخش فایلهای مربوط به نمایش اطلاعات با هم جمع شده اند. البته این بخش فقط حاوی اسکلت بندی بخش نمایش است، چون دادهها باید از دیتابیس دریافت، تبدیل به شی و در این بخش استفاده شوند.
controller: اصلی ترین بخش هر برنامهای در symfony همین بخش است. routing بر اساس ورودی، controller خاص را انتخاب میکند، از این به بعد کل وظایف با controller است و کار با routing تمام میشود. Controller پس از دریافت ورودیها و انجام پردازشهای مورد نظر و یا حتی دریافت اطلاعات از model خروجی مناسب را برای نمایش آماده و نتیجه را به کاربر نمایش میدهد.
form: این بخش فرمهای مورد استفاده در برنامه را ذخیره میکند. البته استفاده از این بخش و یا حتی بخش view اجباری نیست ولی کنار گذاشتن آنها با ساده سازی فرایندها و هدف اصلی استفاده از فریم ورک منافات دارد.