نقد و بررسی فریم ورک های پی اچ پی: کدامیک را انتخاب کنیم؟

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
امروزه اگر بخواهیم یک استارتاپ به راه اندازیم و یا اپلیکیشنی برای موبایل طراحی کنیم، مسلماً نیاز به یک وب سایت مرتبط با کار خود داریم. حال اگر بخواهیم صرفاً یکسری اطلاعات را در معرض دید کاربران قرار دهیم، یک سایت استاتیک کفایت می‌کند اما اگر بخواهیم به تعامل با کاربران خود بپردازیم، مسلماً نیاز به یک وب سایت دینامیک داریم. زمانی که پای وب سایت‌های دینامیک به میان می آید، ما بر سر چند راهی قرار خواهیم گرفت که کدام زبان برنامه نویسی را انتخاب کنیم: آیا زبان‌های خانواده مایکروسافت مثل سی شارپ و خانواده دات نت را برگزینیم و یا به دنبال سالوشن های متن بازی مثل پی اچ پی، روبی، پرل و … برویم. اگر فرض را بر این بگذاریم که به دلایل شخصی و تجاری، زبان برنامه نویسی PHP برنده این بازی گردد، باز هم دو راه پیش رو خواهیم داشت: یا اینکه با Pure PHP شروع به طراحی وب اپلیکیشن خود نماییم و یا اینکه از فریم ورک های مطرح این زبان برنامه نویسی استفاده کنیم. می خواهیم در این مقاله به نقد و بررسی برترین فریم ورک های زبان برنامه نویسی پی اچ پی بپردازیم.

اگر می‌خواهید ببینید که چرا ما زبان برنامه نویسی پی اچ پی را مد نظر قرار داده ایم، مقاله مزیت پی اچ پی نسبت به رقبایش چیست؟ را مطالعه نمایید. به طور کلی، منظور از کدنویسی با Pure PHP این است که بدون استفاده از هیچ کد از پیش نوشته شده و فریم ورکی، خود با استفاده از کلاس‌ها و متدهای این زبان برنامه نویسی محبوب شروع به کدنویسی پروژه کنیم.

در واقع، مزایای استفاده از فریم ورک در بالا آوردن یک سایت دینامیک را می‌توان در صرفه جویی در زمان کدنویسی، نگهداری راحت‌تر پروژه، پیروی از استانداردهای بین المللی، امنیت بیشتر، مرتب بودن کدها، قابل توسعه بودن وب اپلیکیشن و … برشمرد. به طور مثال، ما برای اضافه کردن ماژول لاگین به سایت خود، با استفاده از Pure PHP می بایست کلی کدنویسی کنیم و در عین حال امنیت داده‌های ورودی را نیز چک کنیم اما در حالی است که با استفاده از فریم ورک این کار در مدت زمان به مراتب کمتر، امنیت به مراتب بیشتر و سهولت قابل توجهی امکان‌پذیر است. اکنون که مجاب شدیم استفاده از فریم ورک خوب است، حال می بایست ببینیم از میان تعداد نسبتاً قابل توجه فریم ورک های زبان برنامه نویسی PHP کدامیک را می بایست انتخاب کنیم. در ادامه به بررسی نقاط ضعف و قوت تک تک فریم ورک های محبوب و مطرح PHP در دنیا می‌پردازیم تا در نهایت شما با دید بازتری بتوانید دست به انتخاب یک فریم ورک بزنید.

\مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

Laravel: فریم ورک لاراول جزو یکی از فریم ورک هایی است که مدت زمان زیادی از انتشار آن نمی‌گذرد اما با استقبال خوبی در میان برنامه نویسان سرتاسر دنیا مواجه شده است و جالب است بدانیم که امسال نیز -سال ۲۰۱۵- این فریم ورک به عنوان محبوب‌ترین فریم ورک پی اچ پی دنیا انتخاب شد (مشاهده مقاله برترین فریم ورک های PHP در سال ۲۰۱۵). لاراول از ابتدا همواره این شعار را داشته که ساخت وب اپلیکیشن ها با این فریم ورک بسیار سریع و آسان است. این فریم ورک نه تنها رایگان است بلکه متن باز نیز می باشد. به عبارت دیگر، توسعه دهندگان بسته به نیاز خود می‌توانند در این فریم ورک تغییراتی ایجاد کنند و آن را برای مقاصد خویش بهینه‌تر سازند. در ضمن، در طراحی این فریم ورک از معماری سه لایه MVC استفاده شده است. از این فریم ورک برای ساخت وب اپلیکیشن های تجاری بزرگ و یا سایت‌های شخصی کوچک می‌توان استفاده کرد لذا این فریم ورک مناسب هر نوع وب اپلیکیشنی می باشد. در طراحی این فریم ورک، از تعدادی از کامپوننت های فریم ورک Symphony نیز استفاده شده است. یکی دیگر از خصیصه های این فریم ورک، وب سایت کامل و جامع و همچنین سورس کد مستندسازی شده است که این امکان را به برنامه نویسان می‌دهد تا به راحتی از کلیه کدها سر در بیاورند (اگر علاقمند به این فریم ورک می باشید، تعدادی از برنامه نویسان لاراول تهران گروهی تشکیل داده اند تحت عنوان لاراتاکس که در آن به آموزش و بحث آزاد در مورد این فریم ورک می پردازند.)

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

Phalcon: در میان کلیه فریم ورک های پی اچ پی، فریم ورک فالکون لقب سریع‌ترین فریم ورک را به خود اختصاص داده است. لذا اگر در صدد طراحی وب اپلیکیشنی هستید که سرعت اجرای آن برای شما حائز اهمیت است، گزینه پیش روی شما فریم ورک Phalcon خواهد بود. پایه و اساس این فریم ورک با زبان برنامه نویسی C نوشته شده است اما شما برای استفاده از این فریم ورک نمی بایست نحوه کدزنی با زبان C را فرا بگیرید چرا که شما با استفاده از کلاس‌های پی اچ پی، به کلیه قابلیت‌های نوشته شده توسط زبان C دسترسی خواهید داشت. با توجه به اینکه این فریم ورک با زبان بسیار قدرتمند C نوشته شده است، نه تنها سرعت آن بسیار بالا است، بلکه منابع سخت افزاری اندکی نیز استفاده می کند. باتوجه به اینکه موتور جستجوی گوگل امروزه سرعت لود شدن سایت‌ها را به عنوان یکی از عناصر دخلیل در نتایج جستجوی کاربران محاسبه می کند، لذا استفاده از فریم ورک هایی که سرعت لود شدن وب اپلیکیشن شما را بهبود بخشند یک امر الزامی است. این فریم ورک اصطلاحاً Loosely Coupled است. به عبارت دیگر، کامپوننت های مختلف این فریم ورک به گونه‌ای نوشته شده‌اند که حداقل نیاز به سایر کامپوننت ها دارند تا اجرا شوند و همین مسأله منجر می‌شود که دست برنامه نویسان در استفاده از کلیه کامپوننت ها و یا بخشی از آن‌ها بازتر گردد. این فریم ورک از لحاظ مستندات و جامعه توسعه دهندگان نسبت به بسیاری از فریم ورک ها که از قدمت بیشتری نیز برخوردارند سر بوده و حرف‌هایی برای گفتن دارد.

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

Symphony: فریم ورک سیمفونی هم جزو فریم ورک هایی است که به خوبی مستندسازی شده است و تحت لیسانس MIT به صورت رایگان عرضه شده است. سیستم مدیریت محتوای دروپال و همچنی phpBB که یکی از سیستم‌های تالار گفتگو است از فریم ورک سیمفونی استفاده می کنند. اگرچه در ابتدا ممکن است ساختار این فریم ورک برای برنامه نویسان -به خصوص برنامه نویسان تازه کار- گیج‌کننده باشد اما این در حالی است که اگر کسی مبانی زبان‌های پی اچ پی و اچ تی ام ال را بلد بوده و با مفاهیمی همچون MVC آشنایی داشته و نحوه کار با دیتابیس را نیز بلد باشد، گفته می‌شود که یادگیری نحوه کار با این فریم ورک خیلی سریع اتفاق می افتد.

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

Yii: نام این فریم ورک مخفف واژگان Yes It Is است که جزو یک از فریم ورک های سریع، ایمن و حرفه‌ای و در عین حال MVC زبان برنامه نویسی پی اچ پی محسوب می گردد. برنامه نویسان اگر قصد استفاده از فریم ورک Yii را دارند می بایست بدانند که این فریم ورک به گونه‌ای طراحی شده است که می‌توان آن را با سایر فریم ورک ها نیز ادغام نمود. یکی از برگ برنده های این فریم ورک، پشتبانی حرفه‌ای از AJAX است و امنیت بالا است.

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

CodeIgniter: مستندات این فریم ورک نسبت به برخی از فریم ورک های دیگر خوب به نظر می رسد. گفته می‌شود که این فریم ورک برای آن دسته از برنامه نویسان مناسب‌تر است که می‌خواهند وب اپلیکیشنی برای هاست اشتراکی بنویسند (البته سایر فریم ورک ها نیز از این قابلیت برخوردازند که پروژه های نوشته شده توسط آن‌ها را روی هاست های اشتراکی میزبانی کرد.) این فریم ورک تقریباً نیاز به تنظیمات خاصی نداشته و خیلی سریع می‌توانید با آن شروع به کدنویسی کنید. یکی دیگر از مزایای فریم ورک CodeIgniter این است که برنامه نویس را ملزم به تبعیت از قوانین محدود کننده کدنویسی نمی کند. این فریم ورک جزو فریم ورک های سریع محسوب می‌شود زیرا برای اجرای هسته این فریم ورک فقط تعداد محدودی کامپوننت اجرا می‌شود و سایر کامپوننت ها بسته به درخواست های ارسالی اجرا شده لذا بار اضافی به سرور تحمیل نمی شود. معماری استفاده شده در این فریم ورک، معماری سه لایه MVC است لذا وب اپلیکیشن های نوشته شده با این فریم ورک دارای ظاهری مجزا از الگوریتم های اجرایی می باشند.

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

CakePHP: گفته می‌شود که با استفاده از کیک پی اچ پی، با حداقل کدنویسی می‌توان به قابلیت‌های منحصر به فردی دست یافت. برای شروع کار با این فریم ورک، برنامه نویسان نیاز به تنظیمات خاصی نداشته و صرفاً نیاز دارند تا دیتابیس خود را آماده ساخته و سپس شروع به کدنویسی کنند. این فریم ورک تحت لیسانس MIT است، لذا به سهولت می‌توان از این فریم ورک برای وب اپلیکیشن های عمومی استفاده نمود. قابلیت‌هایی همچون تصدیق اطلاعات ورودی کاربران، CSRF، SQL Injection و حملات XSS که در دل این فریم ورک گنجانده شده ضامن امنیت وب اپلیکیشن های نوشته شده با این فریم ورک خواهد بود.

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

Zend: این فریم ورک توسط شرکت Zend Technologies توسعه داده شده است که این شرکت به عنوان توسعه‌دهنده اصلی خود زبان برنامه نویسی پی اچ پی نیز می باشد. فریم ورک زند که در حال حاضر نسخه ۲ آن به دنیا عرضه شده است یک فریم ورک متن باز، سه لایه و بسیار قدرتمند است. شما در طراحی وب اپلیکیشن ها با استفاده از زند می‌توانید صرفاً آن کامپوننت هایی که نیاز دارید را فراخوانی کنید لذا سرعت وب اپلیکیشن شما تاحدودی ارتقاء خواهد یافت. کسانی که از این فریم ورک استفاده می‌کنند یا عاشق آن می‌شوند و یا اینکه از آن متنفر می‌شوند و دلیل این مسأله هم آن است ساختار این فریم ورک تا حدودی پیچیده است. یکی از برگ برنده های این فریم ورک ماژولار بودن آن است. به عبارت دیگر، شما می‌توانید وب اپلیکیشن خود را به ماژول های مختلف تقسیم‌بندی کرده و از آن ماژول ها در سایر پروژه های خود نیز استفاده کنید.

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

Kohana: کوهانا یک فریم ورک پی اچ پی شیئ گرا است که بر اساس قابلیت‌های زبان PHP نسخه ۵ نوشته شده است که قابلیت‌های نسبتاً خوبی در اختیار برنامه نویسی قرار می‌دهد که از آن جمله می‌توان به ابزارهای ترجمه، دسترسی به دیتابیس، رمزنگاری داده ها، تصدیق فرم و … اشاره کرد. در عین حال، سرعت وب اپلیکیشن های نوشته شده با این فریم ورک نسبت به سایر فریم ورک های این لیست هم قابل قبول است. لذا اگر سرعت برای شما مهم است، این فریم ورک را به شما توصیه می کنیم.

فریم ورک اسلیم پی اچ پی

Slim: این فریم ورک جزو فریم ورک های بسیار کم حجم است که لقب Micro-framework به آن داده شده است. اگر به دنبال یک فریم ورک کوچک، جمع و جور اما در عین حال قدرتمند می گردید، Slim را به شما توصیه می کنیم. نصب و تنظیمات این فریم ورک بسیار آسان و سریع است. از جمله سایر میکرو فریم ورک هایی که رقیبی برای اسلیم محسوب می‌شوند می‌توان به Silex, Limonade و Flight اشاره کرد. جالب است بدانیم که این فریم ورک از لحاظ عملکرد، در تست های انجام شده پس از فریم ورک فالکون قرار گرفته است یعنی فریم ورکی بسیار سریع است.

مقایسه فریم ورک های مطرح زبان برنامه نویسی پی اچ پی

FuelPHP: فیول پی اچ پی یک فریم ورک سه لایه MVC است که از معماری HMVC نیز پشتیبانی می‌کند که برای استفاده از آن نیاز به پی اچ پی نسخه 5.3 به بالا خواهید داشت. همچون فریم ورک زند، از این فریم ورک نیز می‌توان به صورت ماژولار استفاده نمود و کدهایی که می نویسیم را در سایر پروژه ها مورد استفاده قرار داد. نکات امنیتی هم در این فریم ورک به خوبی رعایت شده‌اند به این شکل که حملات ایکس اس اس، سی اس آر اف و همچنین SQL Injection به خوبی مهار می شوند.
 

برخی موضوعات مشابه

بالا