با بروزرسانی و پیشرفت زبان برنامه نویسی php ، فریم ورک های زیادی منسوخ شدن همچنین خیلی از فریم ورک ها از پایه نوشته شدن تا از مزیت های جدید php عقب نمونن. به خاطر همین کامیونیتی یک فریم ورک از خود فریم ورک هم مهم تره. البته فریم ورک های نسبتا زیادی کامیونیتی فعال دارند و هر سال شاهد یک لیست بلند بالا از محبوب ترین فریم ورک های php هستیم که با معیار های مختلفی رده بندی شدن.
در این لیست ، فریم ورک فالکون یکی از فریم ورک های رده بالا و مدرنه که به سرعت و request per second بی نظیر ، معروفه. این شهرت به این دلیله که فالکون بر خلاف بقیه فریم ورک های php به صورت یک افزونه C عرضه میشه. C یک زبان برنامه نویسی رده پایینه که سرعت اجرای اون بسیار بالاست.
از اونجایی که این فریم ورک بر پایه این زبان نوشته شده ، سرعت اجرای اون گاهی از خود php هم بالاتر ارزیابی میشه. همچنین این فریم ورک میتونه به نسبت رقبا تعداد ریکوئست بیشتری رو هندل کنه.
البته سرعت زیاد فقط یکی از مزایای این فریم ورکه و این فریم ورک حرف های بیشتری برای گفتن هم داره که در ادامه به چند تا از اون ها اشاره میکنم …
چه چیزی فالکون رو تا این حد محبوب کرده؟
- سرعت بالا و اجرای بهینه
بیزینس های آنلاین وقتی برای گسترش کسب و کارشون از کمپین های تبلیغاتی استفاده میکنن در مدت کمی شاهد تعداد کاربر بسیار زیادی هستند و این تعداد کاربر خیلی از اوقات باعث شده سایت داون بشه و نتونه به این حجم از کاربر سرویس بده. اما فالکون با زبان C نوشته شده و در قیاس با بقیه فریم ورک های php میتونه تعداد بازدید بسیار بیشتری رو هندل کنه. در نمودار زیر مقایسه زمان و تعداد ریکوئست رسم شده. در این نمودار میبینید که چقدر فالکون از جایگاه خوبی برخورداره:
مقایسه فریم ورک ها
- استفاده از معماری MVC
مانند بقیه فریم ورک های مدرن ، فالکون از معماری model – view – controller استفاده میکنه و این باعث میشه که برنامه نویس ها راحت تر و با سرعت بیشتری بتونن برنامه های پیچیده و بزرگ طراحی کنن.
همچنین این فریم ورک از امکان single module و multi module بهره میبره که با اون میتونید لایه های برنامه نویسی و دسترسی رو جدا کنید.
- حداقل استفاده از منابع
به نسبت رقبا ، فالکون با افزاش تعداد درخواست ، منابع کمتری از سرور مصرف میکنه. این به این دلیله که همزمان با اجرای php ، فالکون هم اجرا میشه و برنامه بدون هیج وقفه ای از کلاس ها و توابعی که با C در فالکون نوشته شدن ،استفاده میکنه.
همچنین فالکون کامپایل میشه و مثل php یک زبان تفسیر شدنی نیست. با این وجود تا وقتی که تغییری در کد ها به وجود نیاد ، نیازی به کامپایل دوباره نداره. این ، سرعت اجرا رو به شدت بالا میبره. با فالکون شما مزیت های یک زبان برنامه نویسی رده پایین رو با معماری MVC و تحت وب تجربه می کنید.
- استفاده از ORM
معمولا اپلیکشن های وب نیازمند Model های مختلفی اند. اطلاعات بعضی از این Model ها ثابت و بعضی شون گاهی تغییر میکنه.
دسترسی به دیتابیس و خواندن و نوشتن در اون یکی از تاثیر گذار ترین پارامتر ها در سرعت اجرای یک اپلیکیشن وبه. فالکون با استفاده از ORM دسترسی به خواندن و نوشتن رو خیلی آسون تر کرده و برای تراکنش در دیتابیس هیچ نیازی به دستورات SQL ندارید و خیلی راحت تر می تونید با دیتابیستون کار کنید.
- Phalcon Query Language یا PHQL
PHQL یک زبان استاندارد شده شبیه به SQL هست که با زبان C نوشته شده. این زبان بسیار بهینه ست و کمترین میزان منابع رو مصرف میکنه. در این زبان از تکنولوژیی که باعث بهینه بودن SQLite هست استفاده شده. همچنین این زبان چند ویژگی مهم داره که ارتباط و تراکنش دیتابیس رو بسیار امن تر میکنه.
- تمپلیت انجین Volt
Volt تمپلیت انجین پیشفرض در فالکونه. این تمپلیت انجین از Jinja الهام گرفته شده و قدرت و سرعت اجرای بالایی داره. البته Volt با C نوشته شده و راز سرعت بالای اون همینه. شما میتونید Volt رو تمپلیت انجین قسمت view فالکونتون قرار بدید از اون استفاده کنید.
بر اساس تعریف سازندگان اون، فالکون (Phalcon) سریعترین فریم ورک پی اچ موجود هستش. با توجه به بنچمارک ها، این تعریف به نظر دور از واقعیت نیست. این فریم ورک حتی در بعضی بنچمارک های مربوط به ارتباط با دیتابیس عملکرد بهتری از پی اچ پی ساده از خود نشون داده.
فالکون به عنوان اکستنشن سی برای پی اچ پی نوشته شده. احتمال داره اسم زفر (Zephir) را شنیده باشید، زفر یک زبان برنامه نویسی اوپن سورس هست که برای توسعه و نگهداری اکستنشن های پی اچ پی با تمرکز بر روی مدیریت منابع و حافظه ساخته شده و محصولی از همین تیم برنامه نویسی می باشد.
نسخه پایدار فعلی از فالکون به طور کامل با زفر پیاده سازی نشده، اما چند وقت پیش اعلام شد که نسخه جدید، یعنی نسخه دوم این فریم ورک توسط زفر پیاده سازی خواهد شد.
این فریم ورک، یک فریم ورک فول استک هستش و امکانات لازم برای اتصال به دیتابیس MySQL و MongoDB،امکانات اعتبار سنجی و مسیر دهی و این نظیر امکانات را به صورت پیشفرض در خودش جا داده.
البته شما همیشه امکان استفاده از پکیج های دلخواه خودتون را در کار با این فریم ورک خواهید داشت کما اینکه توصیه میشه برای حفظ پرفورمنس تا جای ممکن از پکیج های خود فریم ورک استفاده کنید.
در ادامه نحوه نصب فالکون بر روی سرور لینوکس را برای شما عنوان میکنم و برای کسب اطلاعات بیشتر در رابطه با این فریم ورک میتونید به سایت رسمی اون در این آدرس مراجعه نمایید.
برای نصب فالکون روی سرور میبایستی اون را را از طریق سورس نصب کنید. قبل از شروع نصب نیاز به پکیج توسعه PHP نسخه 5.3 به بالا، کامپایلر GCC و Git بر روی سرور خودتون دارید که در لینوکس اوبونتو با استفاده از دستور زیر میتوانید اون ها را نصب کنید.
sudo apt-get update
sudo apt-get install php5-dev libpcre3-dev gcc make php5-mysql git –y
بعد از اطمینان از نصب موارد فوق بر روی سرور، میتوانید از طریق دستور زیر در ترمینال لینوکس آخرین نسخه پایدار فالکون را از مخزن اون در یافت و نصب کنید.
cd /opt
sudo git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install
بعد از اتمام نصب باید اکستنشن را در تنظیمات پی اچ پی خودتون فعال کنید. برای فعال کردن اکستنشن در تنظیمات، دستور زیر را در ترمینال وارد نمایید و سپس وب سرور خود را مجددا راه اندازی کنید.
sudo bash -c 'echo extension=phalcon.so > /etc/php5/apache2/conf.d/20-phalcon.ini'
در این لحظه فالکون بر روی سرور شما نصب شده و می توانید کار با آن را آغاز کنید. سینتکس این فریم ورک کاملا سینتکس پی اچ پی هست و تفاوت اصلی اون با بیشتر فریم ورک ها در این هست که با زبان سی نوشته شده و می بایست مستقیم و به صورت اکستنشن بر روی سرور نصب شود.
نتیجه:
اگرچه فالکون یک فریم ورک تازه وارده و تازه نسخه ۲٫۰٫۹ اون منتشر شده ولی میتونه با فریم ورک های کهنه کار و قدرتمندی مثل لاراول رقابت کند.
همچنین کسانی که برای سایتشون نیاز به اپلیکیشن موبایل دارن این فریم ورک بهترین گزینه ست. چون سرعت پاسخ گویی و تعداد پاسخ در ثانیه از مهم ترین معیار های رابطه اپلیکشن موبایل و اپلیکشن وب هستند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید