Symfony چیست
مقالات برنامه نویسیدر این مقاله ماهیت فریمورک Symfony را بررسی کرده و ویژگی های آن را به شکل کامل بیان خواهیم کرد . چرا میتوانید سیمفونی را بعنوان یک فریمورک مناسب برای زبان php بپذیرید ؟

Symfony چیست ؟ اگر با دنیای برنامه نویسی و خصوصا زبان php کمی آشنایی داشته باشید اسم ابزار هایی همچون لاراول یا سیمفونی به گوش شما خورده است اما این اسامی مربوط به چه ابزارهایی هستد و چگونه به شما کمک خواهند کرد ؟ اگر نمیدانید که مفهوم فریمورک چیست لازم است تا به شکل خلاصه درمورد آن توضیح دهیم . فریمورک یک چارچوب برنامه نویسی است که بر اساس یک زبان برامه نویسی یا طراحی توسعه داده میشود . برای مثال فریمورک بوت استرپ برای زبان طراحی Css توسعه داده شده و برای کار با این فریمورک باید به زبان Css تسلط داشت . سیمفونی نیز یکی از فریمورک هایی است که برای راحتی کار با زبان برنامه نویسی php توسعه داده شده است و برای کار با این فریمورک باید به زبان برنامه نویسی پی اچ پی تسلط داشت . اگر در مورد زبان php اطلاعات ندارید میتوانید مقاله php چیست را مطالعه کنید .
فریمورک یک بستر برنامه نویسی است که کدنویسی توسط یک زبان را برای شما ساده میکند اما مهم تر از همه فریمورک ها باعث استاندارد سازی ساختار برنامه نویسی می شود . اینگونه تصور کنید که شما به کمک زبان برنامه نویسی پی اچ پی مشغول برنامه نویسی یک سیستم بزرگ هستید . در حین کدنویسی هر اندازه که از کلاس ها و توابع پیشرفته تر استفاده کنید ، بازهم اسامی که برای توابع یا کلاس های خود تعیین خواهید کرد همگی براساس سلیقه خود شما هستند و اگر بعدها پروژه شما نیاز به توسعه توسط شخص دیگری داشته باشد و یا حتی خود شما بعد از چندین سال اقدام به تغییر پروژه نمائید ، به این دلیل که تمامی اسامی و نام گذاری ها و همچنین روش کدنویسی با سلیقه شخصی بوده است ، لذا سردرگمی بزرگی ایجاد خواهد شد . به همین دلیل استفاده از فریمورک ها یکبار برای همیشه ، این چارچوب مشخص و استاندارد را برای پروژه ها ایجاد خواهند کرد .
برای مثال اگر نیازمند ایجاد یک کلاس برای قسمت کاربران سایت خود باشید ، میتوانید از اسامی مشخصی در یک چارچوب معین استفاده کنید تا به این ترتیب پروژه شما خوانایی و هندلینگ بیشتری داشته باشد . سیمفونی و لاراول دو مورد از کاربردی ترین فریمورک ها برای زبان برنامه نویسی پی اچ پی هستند که کدنویسی با این زبان را بسیار لذت بخش خواهند کرد . اما در این مقاله قصد داریم تا درمورد سیمفونی صحبت کرده و مزایا و ویژگی های آن را به شکل کامل توضیح دهیم .
معرفی Symfony
Symfony در 18 اکتبر 2005 به عنوان نرم افزار رایگان و تحت مجوز MIT منتشر شد. Symfony همانطور که گفته شد یک فریمورک است و برای زبان پی اچ پی جهت کدنویسی در بخش بک اند طراحی شده است . Symfony بر پایه معماری 3 لایه یا همان mvc طراحی شده و مجموعه بزرگی از کامپوننت های پی اچ پی را پشتیبانی می کند . این فریمورک به راحتی روی بیشتر پلتفرمها نصب و کانفیگ میشود و بهترین ویژگی آن قابلیت استفاده مجدد از کامپوننتهای PHP آن است . Symfony به شما این امکان را خواهد داد که علاوه بر استفاده از این فریمورک ، سایر کتابخانه ها نیز در پروژه به کار گرفته شود . کار کردن با Symfony برای افرادی که صاحب تجربه هستند بسیار راحت تر است و از نظر رتبه بندی این فریمورک در رتبه 3 قرار دارد . رتبه اول مربوط به لاراول و رتبه دوم مربوط به کدیگنایتر است .
فریمورک سیمفونی به شکل قابل توجهی از فریم ورک بهار (Spring Framework) الهام گرفته شده است ( اسپرینگ یکی از پلتفرمهای جاوا بود که از آن برای تولید برنامهها و اپلیکیشنهای مختلف هم در زمینه وب و هم برنامههای سیستمی استفاده میشد ) . یکی از فریمورک هایی که بر اساس اجزای فریمورک Symfony ساخته شده ، فریمورک Laravel است . سیمفونی از پروژه های متن باز PHP یا همان PHP Open-Source Projects به عنوان بخشی از فریمورک استفاده میکند . همچنین این فریمورک از اجزای خود نیز استفاده میکند که میتوانید آنها را داخل وب سایت سیمفونی در قسمت Symfony Components مشاهده کنید که به صورت رایگان برای پروژه های مختلف در دسترس هستند .
ویژگی های اصلی فریمورک سیمفونی
دو ویژگی مهم این فریمورک را در این بخش بررسی خواهیم کرد :
- پشتیبانی بلندمدت
یکی از مواردی که برای هر زبان یا ابزار حائز اهمیت است ، گزینه پشتیبانی است . سیمفونی بروزرسانی های مناسبی را ارائه کرده و نکته جالب اینجاست که بروز رسانی های جدید تماما خود را با نسخه های قبلی هماهنگ می کنند . البته در این بین لازم است بدانید که اولین بروز رسانی این فریمورک ، 5 سال بعد از ارائه اولین نسخه آن ارائه شد و در حدود 5 سال این نسخه از فریمورک در حالتی ساکن به سر می برد . پس از ارائه چند بروز رسانی ، سیمفونی قواعدی را برای ارائه بروز رسانی ها درنظر گرفت و در بازه های زمانی معین نسخه های بروز شده خود را رونمایی کرد . برای مثال اولین بروز رسانی آن در سال ۲۰۰۷ منتشر شد و سیمفونی ۱.۰ نام داشت . در ماه ژوئن سال ۲۰۰۸ نسخه بعدی از این فریمورک با نام ۱.۱ منتشر شد . بروز رسانی های بعدی سیمفونی هر ساله یکبار ارائه می شدند و نهایتا در سال 2013 نسخه تحول یافته آن در نسخه 2 ارائه شد که پس از نسخه 1.4 بود . پس از نسخه 2 سیمفونی ، بازه های زمای ارائه آپدیت به 8 ماه تغییر کردند و به شکل منظم هر 8 ماه ، بروزرسانی های این فریمورک ارائه شد . نسخه فعلی سیمفونی در تاریخ انتشار این مقاله نسخه 6.2 می باشد . به این دلیل که این فریمورک متن باز است توسط برنامه نویسان زیادی توسعه پیدا کرده و جهت استفاده های مختلف در اختیار سایر کاربران قرار گرفته است . همچنین باتوجه به وجود فروم ها و انجمن ها و وب سایت های مختلف ، میتوانید به راحتی هرمورد و مشکلی که در پروژه ها دارید را حل نمائید .
- منعطف بودن
سیمفونی خود دارای برخی ابزار ها است که باعث تسریع در روند کدویسی خواهند شد . bundle نام ابزارهایی است که سیمفونی در اختیار شما قرار میدهد و برای مثال میتوانید یک بخش وبلاگ را توسط این bundle با سرعت بیشتری پیاده کنید . این bundle ها تماما قابل تغییر هستند و شما محدود به استفاده از هرچه که دارد نیستید . استفاده از باندل و کامپوننت به کاهش وابستگیهای پروژه کمک کرده و اعمال تغییرات را راحتتر میکند که مسبب ایجاد انعطاف در پروژه است .
محدودیت های Symfony
در بالاتر گفته شد که رتبه سوم مربوط به Symfony بوده و رتبه اول و دوم مربوط به لاراول و کدیگنایتر است . اما این رتبه بخاطر برخی محدودیت ها ایجاد شده است . Symfony توانایی کمتری در پیاده سازی سیستم های Real time همچون چت آنلاین و سیستم پشتیبانی دارد و درحقیقت توانایی پاسخ دهی همزمان به حجم وسیعی از کاربران را ندارد . البته که در پروژه های کوچک این موضوع مشخص نیست اما در هنگام اجرای پروژه های بزرگتر حتی با مدیریت زبان php در نسخه 7 ، بازهم ناچارا باید به سراغ فریمورک های دیگری همچون لاراول رفت .
همانطور که بالاتر اشاره شد این فریمورک برای افراد باتجربه ساده است و از این جهت برای افرادی که در ابتدای راه یادگیری فریمورک هستند ممکن است گزینه ساده تری نباشد و بهتر است یادگیری را از فریمورک های ساده تری همچون لاراول شروع کنید و این حرف به این معنی نیست که یادگیری سیمفونی ارزش ندارد ، اما باید دقت کرد که با چه سطح مهارتی قصد یادگیری آن را دارید . اگر فردی با مهارت هستید مطمئنا از امکانات این فریمورک خوشتان آمده و علاقمند به کار با آن خواهید شد .
برخی از قالب های سیستم های مدیریت محتوایی همچون پرستاشاپ ( سیستم مدیریت محتوای فروشگاهی ) توسط این فریمورک برنامه نویسی شده است . از سایر برنامه های PHP ساخته شده توسط سیمفونی میتوان از دروپال و PHPBB و eZ Publish نام برد .

امید قدیمی هستم ، 8 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت
نقشه راه فرانت
اگر قصد دارید تا یک طراح ماهر باشید ، ما درست ترین مسیر را برای شما فراهم کردیم و فقط کافیست همراه ما باشید
ساده ترین روش برای ساخت صفحه ورود و ثبت نام توسط زبان php و html ! یکی از پروژه های پایه در دنیای برنامه نویسی که یادگیری آن برای شروع راه لازم است .
برای برنامه نویسی لپ تاپ مناسب است یا کامپیوتر ؟ چه فاکتورهایی را باید هنگام خرید دستگاه مدنظر بگیریم تا برای چندین سال راحتی کار داشته باشیم ؟ بررسی کامل و دقیق در این مقاله !