آنچه در این صفحه می خوانید:
- معرفی سیمفونی (Symfony)
- ویژگی های سیمفونی (Symfony)
- مزایای استفاده از سیمفونی (Symfony)
- مقایسه سیمفونی (Symfony) با لاراول (Laravel)
معرفی سیمفونی (Symfony)
سیمفونی (Symfony) فریمورک برنامه وب پی اچ پی (PHP) و مجموعه ای از مؤلفه ها / کتابخانه های قابل استفاده مجدد است. Symfony فریمورک اوپن سورس MVC است که به توسعه سریع برنامه های کاربردی وب مدرن کمک می کند. Symfony فریمورک وب کامل است و شامل مجموعه ای از اجزای قابل استفاده مجدد PHP می باشد. شما می توانید از هر جزء Symfony در برنامه ها، مستقل از فریمورک استفاده کنید. Symfony دارای مقدار زیادی از قابلیت ها و جامعه فعال است و پیکربندی انعطاف پذیری دارد که از YAML، اکس ام ال (XML) یا حاشیه نویسی استفاده می کند.
Symfony عمدتا از روبی آن ریلز (Ruby on Rails)، جنگو (Django) و فریمورک برنامه های کاربردی اسپرینگ (Spring) الهام گرفته شده است. اجزای Symfony توسط بسیاری از پروژه های منبع باز استفاده می شود که شامل کامپوزر، دروپال و phpBB هستند. فریمورک Symfony متشکل از چندین جزء است، مانند مولفه HttpFoundation که HTTP را درک می کند و یک شی درخواست و پاسخ مورد استفاده اجزای دیگر را ارائه می دهد. اجزا های دیگر صرفا اجزای کمکی مانند Validator هستند که به اعتبار سنجی اطلاعات کمک می کند. هسته اساسا "کلاس اصلی" است که محیط را مدیریت می کند و مسئول رسیدگی به درخواست HTTP است. ساختار به خوبی سازمان یافته، کد تمیز و شیوه های برنامه نویسی خوب Symfony باعث می شود که توسعه وب آسان تر شود. Symfony بسیار انعطاف پذیر است و در ساختن سایت های کوچک و رسیدگی به برنامه های سازمانی با میلیاردها اتصالات کاربرد دارد.
ویژگی های سیمفونی (Symfony)
Symfony با هدف سرعت بخشیدن به ایجاد و نگهداری برنامه های وب و جایگزینی کارهای رمزگذاری تکراری. این هدف همچنین به ایجاد برنامه های کاربردی قوی در زمینه سازمانی است و هدف آن این است که به توسعه دهندگان کنترل کامل بر پیکربندی را بدهد: از ساختار فهرست گرفته تا کتابخانه های خارجی، تقریباً همه چیز قابل تنظیم است. برای مطابقت با دستورالعمل های توسعه شرکت، Symfony با ابزارهای اضافی همراه است تا به توسعه دهندگان کمک کند تا پروژه ها را تست، اشکال زدایی و مستند سازی را انجام دهد. Symfony دارای سربار با کارایی کم است که از حافظه پنهان کد استفاده می شود.
از دیگر ویژگی های سیمفونی میتوان به موارد زیر اشاره کرد:
- سیستم مبتنی بر مدل-View-Controller
- فریمورک PHP با کارایی بالا
- مسیر یابی انعطاف پذیر URI
- کد قابل استفاده مجدد و آسان تر برای نگهداری
- خطا در ورود به سیستم
- کلاس های پایگاه داده کامل با پشتیبانی از چند سیستم عامل
- پشتیبانی از جامعه بزرگ و فعال است
- مجموعه ای از قطعات جدا شده و قابل استفاده مجدد
- استاندارد سازی و قابلیت همکاری برنامه های کاربردی
- امنیت در برابر جعلی بودن تقاضای تقسیم سایت و سایر حملات
- موتور قالب Twig
Symfony انعطاف پذیری زیادی برای توسعه دهندگان ارائه می دهد. این ویژگی های عالی برای اشکال زدایی، خواندن کد و توسعه برنامه های قابل برنامه ریزی دارد.
مزایای استفاده از سیمفونی (Symfony)
اعتبار
پس از راه اندازی آن در سال 2005 به سرعت توسط متخصصان فعال در این زمینه پذیرفته شده، Symfony امروز یک محیط پایدار است که هم شناخته شده و هم بین المللی شناخته شده است. تعداد مراجع آن به این امر گواهی دارد، زیرا از زمان راه اندازی آن به میزان قابل توجهی افزایش یافته است. سمفونی نیز دارای جامعه فعال است. توسعه دهندگان، مجتمع ها، کاربران و سایر مشارکت کنندگان در غنی سازی مداوم این ابزار شرکت می کنند.
ماندگاری
Symfony در ابتدا توسط آژانس تعاملی SensioLabs ایجاد شد. Symfony که توسط متخصصان حرفه ای طراحی شده است و مهمتر از همه ابزاری عملی است که ویژگی های آن نیازهای دنیای واقعی را برطرف می کند. ماندگاری نیز چیزی است که مربوط به پشتیبانی طولانی مدت است. پشتیبانی Symfony حرفه ای توسط SensioLabs ارائه می شود، اما همچنین اکوسیستم کامل وجود دارد که از زمان راه اندازی آن در اطراف Symfony رشد کرده است: جامعه (Slack، Stack Overflow و غیره) و بسیاری از شرکت های خدماتی دیگر که در این فریمورک سرمایه گذاری کرده اند. در آخر اینکه، با توجه به توسعه پایدار، Symfony نیز تحت مجوز MIT منبع باز توزیع می شود، که هیچ محدودیتی را ایجاد نمی کند و امکان توسعه منبع باز و همچنین برنامه های اختصاصی را نیز فراهم می کند.
منابع
اینترانت ها، سایت های عمومی، شبکه های اجتماعی، سایت های اجتماعی، برنامه های مدیریتی و گردش کار و غیره نمونه هایی از این دست نیست: صدها سایت و برنامه در همه اندازه ها و انواع مختلفی به Symfony اعتماد دارند. این به طور خاص مورد Yahoo!، Dailymotion، Opensky.com، Exercise.com و حتی برنامه هایی مانند phpBB و دروپال است.
نوآوری
سمفونی همه چیزهایی است که شما از فریمورک انتظار دارید: سرعت، انعطاف پذیری، اجزای قابل استفاده مجدد و غیره. سپس ساختار آنچه ایجاد شده است و استفاده از بهترین شیوه ها وجود دارد. بد نیست! اما این همه چیز نیست! از آنجا که SensioLabs عادت کرده است که نظم مستقر را تکان بخشد و همواره در تلاش برای برتری است، Symfony (و کل جامعه آن) حس کنجکاوی را توسعه داده است که بسیار فراتر از PHP است. و ما با جستجوی ایده هایی در جای دیگر، از نوآوری دریغ نمی کنیم و سپس آنها را با دنیای PHP مانند تزریق وابستگی از دنیای جاوا تطبیق می دهیم. علاوه بر این، Symfony، به دنبال بهبود مداوم در بهره وری از توسعه دهندگان، پیش بینی "نوار ابزار اشکال زدایی وب"، گرفته شده از فریمورک های دیگر، اعم از PHP یا موارد دیگر.
منابع
هنگام استفاده از Symfony، به شما اطمینان داده می شود که هرگز "با صفحه خود تنها نباشید." چه سؤالی از پشتیبانی جامعه (لیست پستی، IRC و غیره) یا پشتیبانی شرکت (مشاوره، آموزش و غیره) باشد، همیشه پاسخ ها را خواهید یافت. به سوالات شما با شروع این اصل که "خط بدون سند خطی نیست که وجود داشته باشد"، شما همچنین کارهای بسیاری را به Symfony اختصاص داده اید که به شما در پیشرفت سایت ها و برنامه های خود کمک می کند.
قابلیت همکاری
ایده اصلی Symfony: خود را در Symfony قفل نکنید! به خودتان اجازه دهید برنامه هایی بسازید که دقیقاً پاسخگوی نیاز شما باشد! Symfony به "استاندارد های موجود" در PHP احترام می گذارد: PHPUnit، نامگذاری کنوانسیون ها برای کلاس ها و غیره. علاوه بر این، Symfony همچنین به شما امکان می دهد از قطعات خاصی از بلوک های ساخت نرم افزار خود استفاده کنید (انژکتور وابستگی، مدیریت ترجمه، مدیریت اشکال، و غیره) بدون لزوماً از فریمورک در کل استفاده می کند. به هر حال، Symfony به قدری قابل تعامل است که در هسته اصلی خود از بلوک های ساخت نرم افزار خارجی استفاده می کند (ORM Doctrine، Swiftmailer و غیره)!
مقایسه سیمفونی (Symfony) با لاراول (Laravel)
لاراول (Laravel) فریمورک وب پی اچ پی اوپن سورس که توسط Taylor Otwel ساخته شده و برای توسعه برنامه های وب در پی الگوی معماری MVC و مبتنی بر سیمفونی در نظر گرفته شده است. برخی از ویژگی های لاراول سیستم بسته بندی مدولار با مدیر وابستگی اختصاصی، راه های مختلف برای دسترسی به پایگاه داده رابطه ای، برنامه های کاربردی برای کمک به استقرار و نگهداری برنامه ها و جهت گیری آن به سمت Syntactic sugar است. لاراول از کتابخانه های گوناگونی به ویژه بسیاری از کتابخانه های Symfony استفاده می کند. کد منبع Laravel در GitHub میزبانی شده و تحت شرایط MIT مجوز دریافت می کند.
Symfony و Laravel هر دو فریمورک PHP هستند و ویژگی هایی را ارائه می دهند که سرعت توسعه برنامه PHP شما را سرعت می بخشد. داربست برنامه به تعریف ساختار آن کمک می کند و افزونه ها توانایی شما را برای اضافه کردن سریع ویژگی ها گسترش می دهند. از دیدگاه پایه، هر دو گزینه در مکان خوب شروع می شوند. با این وجود، آنچه این دو را متمایز می کند، به برنامه خاص و نیازهای توسعه دهنده بستگی دارد.
Laravel محبوب ترین فریمورک PHP است، اما Symfony هنوز هم در رده های شماره دو قرار دارد. با محبوبیت، مقدار زیادی از آموزش و پشتیبانی از اطلاعات به صورت آنلاین ارائه می شود. برای لاراول، آموزش از طریق Laracasts می تواند اطلاعات بسیار خوبی را ارائه دهد که Symfony در حال حاضر ارائه نمی دهد. اگرچه Symfony هنوز اسناد و مدارک خوبی در اختیار دارد، منابع به اندازه منابع Laravel گسترده نیستند. در نسخه های قدیمی تر، لاراول عملکرد بهتری نسبت به سیمفونی داشت.