سیمفونی توسط شرکت sensiolab پشتیبانی میشود. sensiolab شرکت بسیار موفقی است و محصولات تجاری بسیاری تولید کرده است. این شرکت مدارک اختصاصی و معتبری ارائه میدهد که در بین متخصصان این رشته معروف و شناخته شده اند.
در قسمت اول از آموزشمون به موارد زیر پرداختیم:
- معرفی فریمورکهای معروف
- معرفی شرکتها و محصولاتی که از symfony استفاده کرده اند
- معرفی mvc
- پیاده سازی mvc در symfony
- فایل بندی فریمورک symfony
در این قسمت از آموزش سیمفونی در ابتدا قصد دارم ویژگیهای مثبت استفاده از فریمورک سیمفونی رو بیان کنم. البته این ویژگیهای مثبت شاید در اکثر فریمورکهای php موجود باشد ولی خوب تمرکز بنده روی symfony framework است.
آشنایی با doctrine:
از ویژگیهای مثبت symfony framework میشود به سیستم مدیریت دیتابیس doctrine اشاره کرد. در یک کلام داکترینه واقعا عالی است، سرعت بالایی دارد، هر کاری را که با کوئریهای mysql بتوانید انجام دهید اینجا هم قادر به انجامش هستید و قابیتهای اضافهای که هر متخصصی رو مجاب میکند از doctrine بهره ببرد.
در یک پروژه از mysql به عنوان دیتابیس استفاده میکردم، در اواخر کار به دلایلی مجبور شدم از mysql به Mongodb کوچ کنم، جای هیچ نگرانیای نداشتم، فقط کافی بود چند خط کد به برنامه ام اضافه کنم و یک سری کتابخانه جدید به کتابخانههای symfony اضافه کنم، به همین سادگی دیتابیسم رو عوض کردم؛ در برنامهای که نوشته بودم صدها بار از دستوراتی استفاده کرده بودم که برای کار با mysql بود، ولی باز هیچ مشکلی نبود چون با doctrine فقط کافیه دستورات رو یکبار بنویسید و بعدها روی هر سیستم پایگاه دادهای اجرا کنید. داکترینه به عنوان یک ORM از دیتابیسهای زیر پشتیبانی میکند:
- Mysql
- Mongodb
- Sql server
- Oracle
- PostgreSQL
اگر دیتابیس دیگری هم مد نظرتان باشد کافی است سرچ کنید به احتمال زیاد کتابخانهای برای ارتباط اون با doctrine پیدا خواهید کرد.
همونطور که در قسمت قبلی گفتیم سیمفونی از مجموعهای از کتابخانهها تشکیل شده و میشود هر جزئی رو به تنهایی استفاده کرد. مثلا میشود از doctrine به شکل مجزا در هر پروژه و هر فریمورک دیگهای بهره برد. برای مشاهده مستندان کامل doctrine به سایت مراجعه کنید.
آشنایی با twig:
twig در واقع template engine پیش فرض فریمورک سیمفونی است. در قدیم از smarty برای مدیریت رابط کاربری استفاده میشد، ولی امروزه با ظهور twig استفاده از smarty توسط خیلیها کنار گذاشته شده است. برای خیلیها سوال پیش میآید که چرا بهتره از یک template engine استفاده کرد؟ در واقع الزامی برای این کار در سیمفونی وجود ندارد و میشود دستورات رو بدون twig استفاده کرد. ولی استفاده از twig لذت بخش، سریع و امن تر میباشد.
مثالی از php و twig:
//php
echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8')
//twig
{{ var|e }}
البته ویژگیهای مثبت استفاده از twig فقط کوتاه تر بودن دستورات نیست. استفاده از twig به همراه symfony در ساده تر کردن کارها و همچنین کمک به cache بهتر است. سعی کنید استفاده از twig را فرابگیرید در آینده از آن لذت خواهید برد.
همانطور که در مورد doctrine گفتیم twig را نیز میتوان به تنهایی در تمام پروژهها استفاده کرد. مستندات سایت twig را مشاهده کنید.
آشنایی با swiftmailer:
swiftmailer کتابخانه ارسال ایمیل در سیمفونی است که بسیار قدرتمند و محبوب میباشد. swiftmailer هم جزء کتابخانههای محبوب symfony است که توسط بسیاری از frameworkهای دیگر مورد استفاده قرار میگیرد. اگر تا به حال برای ارسال ایمیلهای خود از کتابخانهای استفاده نکرده اید پیشنهاد میشود که از این کتابخانه بهره ببرید. سایت مستندات این library را مشاهده است.
برای اطلاع از انتشار دیگر مطالبی که در آینده در مورد سیمفونی منتشر میشود در خبرنامه هیتوس عضو میشوید.