کدام فریمورک پی اچ پی (php) را انتخاب کنیم ( + ویدیو )

کدام فریمورک پی اچ پی (php) را انتخاب کنیم ( + ویدیو )

بروزرسانی : 4 ماه پیش

در این مقاله به تعریف انواع فریمورک های زبان برنامه نویسی پی اچ پی پرداختیم. پی اچ پی محبوب ترین زبان برنامه نویسی وب است و قطعا برای استفاده از php باید یک فریمورک پی اچ پی انتخاب کنید. معمولا ساختن یک فریمورک php شخصی زمان بر است و ممکن است به زحمت زیادی نیاز داشته باشد به همین دلیل فریمورک های فراوانی ایجاد شده که میتوانید یکی از آنها را انتخاب کنید.دلایل دیگر انتخاب فریمورک هم در این مجله نوشته شده که پیشنهاد میکنیم بصورت کامل تا انتها آنرا مطالعه کنید.پی اچ پی فریمورک های زیادی دارد که به بررسی تک تک آنها درون این مقاله پرداختیم و اگر این نوشته را بخوانید مطمئنا یک دید کلی نسبت به همه ی آنها پیدا میکنید و برای پروژه ی خود میتوانید فریمورک مناسب انتخاب کنید.

همچنین در ویدیو زیر بطور کلی فریمورک تعریف میشود که اگر دوست داشتید درباره ی فریمورک بدانید پیشنهاد میکنیم ابتدا ویدیو را تماشا و سپس این مجله را مطالعه کنید : 

 

چرا برای PHP باید فریمورک انتخاب کنیم؟

از آنجایی که کدنویسی خام با زبان برنامه نویسی PHP امری زمان بر و هزینه بر است اکثر برنامه نویسان وب و صاحب کسب و کارهای آنلاین ترجیح میدهند پروژه ی خود را با یکی از فریمورک های PHP به انجام برسانند تا در زمان و هزینه های آنها صرفه جویی شود . 

 

فریمورک های زبان php

 

استفاده از فریمورک های PHP مثل جلوگیری از اختراع مجدد چرخ است . بطوری که خیلی از کارها که برنامه نویس بصورت تکراری باید انجام دهد توسط فریمورک ها انجام شده است . خیلی از کارها که در حین کدنویسی ممکن است ، فراموش شود یا ناقص انجام شود توسط فریمورک ها بصورت کامل انجام شده است . مثلا فرض کنید برنامه نویس وب ، یک سایتی را پیاده کرده باشد که یک فیلد در یکی از فرم ها ایمن نشده باشد و توسط XSS یک اسکریپت به پایگاه داده منتقل شود .این حرکت کوچک میتواند زحمت چندین ساله ی یک مدیر را به باد بدهد ! به همین سادگی ! پس به همین علت برنامه نویسان php از برنامه نویسی خام فراری هستند و همگی به دنبال یک فریمورک خوب هستند. در هر صورت استفاده از فریمورک تبدیل به امری ضروری در توسعه ی وب شده است یا باید یکی از فریمورک های آماده انتخاب کنید یا با فریمورک اختصاصی php خودتان را خلق کنید.

 

چه زمانی باید از framework استفاده کرد؟ 

زمانی که شما در برنامه نویسی وب مبتدی هستید و تازه شروع کردید ، پیشنهاد میکنیم ابتدا زبان برنامه نویسی سمت سرور، که انتخاب کردید ( ما در اینجا PHP در نظر میگیریم ) را بصورت کامل تمرین کنید و کدهای خام بنویسید . اگر PHP انتخاب شماست برای شروع هیچ کدام از فریمورک های PHP را انتخاب نکنید بلکه بصورت PHP خالص کدنویسی کنید و یاد بگیرید . زمانی که شما تجربه ی خوبی از خود زبان برنامه نویسی کسب کردید میتوانید یکی از فریمورک های آنرا انتخاب کنید و بعد از یادگیری آن ، پروژه های خود را با آن انجام دهید . 

این نکته را بخاطر داشته باشید فرقی ندارد کدام زبان برنامه نویسی و کدام فریمورک را میخواهید یاد بگیرید مهم این است ابتدا خود زبان برنامه نویسی را بصورت خام یاد بگیرید سپس یکی از فریمورک های آنرا. در زیر دلایل خوبی برای استفاده از فریمورک در PHP آورده شده است : 

  • سازماندهی کدها و ساختار فایل ها بسیار آسانتر میشود 
  • ابزارها و کتابخانه های آماده مفیدی میتوانند به برنامه نویس کمک کنند مثل : 
    • اعتبار سنجی فرم ها 
    • ابزارهای کار با پایگاه داده
    • ابزارهای فیلتر ورودی و خروجی ها 
    • ابزارهای مدیریت Session ها و Cookie ها
    • ابزارهای ارسال ایمیل ، تقویم ، دسته بندی و صفحه بندی و ... 
  • استفاده از الگوی طراحی Mvc یا model view controller
  • کدنویسی کمتر که در نهایت باعث افزایش سرعت توسعه میشود 
  • افزایش امنیت 
  • ایجاد بستر برای توسعه گروهی
  • فریمورکهای Php انجمن ها و بخش های آموزشی زیادی دارند که به راحتی میتوانید مشکلات خود را حل کنید 

پس انتخاب یک فریمورک برای توسعه ی یک وب سایت با ویژگی های سریع ، ایمن و پرکاربرد الزامی است اما سوال این است 

 

کدام فریمورک برای PHP انتخاب کنم؟

ابتدا چند فریمورک معروف زبان PHP را معرفی میکنیم و سپس به مقایسه آنها میپردازیم و در نهایت انتخاب با شماست که کدام فریمورک را برای خود مناسب ببینید.

معرفی فریمورک های معروف پی اچ پی : 

 

فریمورک زند ( Zend Framework )

یکی از فریمورک های اپن سورس php است که قابل نصب بر روی سرورهایی است که  php نسخه ی 5.6 و بالاتر را دارد. ۱۰۰% شی گرا میباشد. zend از Composer بعنوان مدیر وابستگی ها ، از PHPUnit بعنوان آزمایش کننده پکیج ها و از Travis CI  برای ادغام پیوسته استفاده میکند . 

 

فریمورک زند پی اچ پی

همچنین فریمورک zend استانداردهای  PHP-FIG  را دنبال میکند و از PSR-7  نیز پشتیبانی میکند . 

حداقل نسخه php مورد نیاز : 5.6

مزایای فریمورک zend : 

  • ایده آل برای پروژه های بزرگ و سازمانی
  • شی گرا
  • کامپوننت های زیاد موجود برای اعتبار سنجی ، فید و فرم و ...

معایب فریمورک zend :

  • سختی یادگیری برای مبتدی ها
  • نامناسب برای توسعه ی سریع 

 

فریمورک سیمفونی ( Symfony ) 

symfony یکی از فریمورک های اپن سورس و رایگان Php است که در سال 2005 میلادی تحت لایسنس MIT Open Source license بوجود آمد . این فریمورک از الگوی معماری mvc یا model view controller برای دسته بندی کدها بهره میگیرد . این چارچوب بطور پیش‌فرض از موتور قالب توئیگ (به انگلیسی: twig) پشتیبانی می‌کند و همچنین نگاشت رابطه‌ای اشیا (به انگلیسی: ORM) آن داکترین (به انگلیسی: Doctrine) می‌باشد.

فریمورک symfony برای پی اچ پی

در ساخت ، سیستم مدیریت محتوای drupal و eZ publish ، انجمن ساز phpBB و فریمورک Laravel از فریمورک symfony استفاده شده است . 

حداقل نسخه php مورد نیاز : 5.5.9

مزایای فریمورک symfony : 

  • عملکرد بالا و توجه به سیستم کَش از نوع byte code
  • پایداری بالا
  • مستندات ، نگهداری خوب
  • پشتیبانی عالی

معایب فریمورک symfony :

  • اگر چه مستندات خوبی برای این فریمورک وجود دارد ولی یادگیری آن زیاد هم آسان نیست
  • عدم پشتیبانی mvc در نسخه های قدیمی
  •  

فریمورک کیک پی اچ پی ( Cake PHP ) 

Cake PHP یکی از فریمورک های اپن سورس و رایگان Php میباشد که از الگوی طراحی mvc و شی گرایی پشتیبانی می کند . 

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

حداقل نسخه php مورد نیاز : 5.5.9

مزایای فریمورک Cake PHP : 

  • یک فریمورک مدرن است ، PHP نسخه 5.5 به بالا پشتیبانی میکند 
  • مناسب برای وب سایت های تجاری ( لایسنس MIT )
  • مدیریت پایگاه داده ، سیستم کَش ، اعتبار سنجی ، احراز هویت 
  • جلوگیری از حملات امنیتی مثل xss و sql injection 
  • اعتبار سنجی فرم ها و سیستم CSRF
  • مستندات خوب

معایب فریمورک Cake PHP :

  • برای ایجاد وب سرویس Restful API به اندازه ی دیگر فریمورک ها توانمند نیست 

 

فریمورک کدایگنایتر ( CodeIgniter )

یکی از محبوبترین و قدرتمندترین فریمورک های زبان PHP فریمورک کدایگنایتر میباشد که با وجود سادگی و سرعت بالا در یادگیری ابزارهای قدرتمندی را در اختیار شما میگذارد . از mvc و شی گرایی بصورت کامل پشتیبانی میکند . به راحتی قابل دانلود و نصب است . بعد از دانلود فریمورک مستندات کامل آن درون فایل دانلود برای شما گنجانده شده است . 

فریمورک کدایگنایتر codeigniter

حداقل نسخه php مورد نیاز : 5.4

مزایای فریمورک Codeigniter : 

  • رابطه ی خوبی با برنامه نویس دارد چرا که وابستگی خاص یا پشتیبانی های خاصی را نیاز ندارد 
  • قابل نصب روی هاست های معمولی به راحتی و کار با پایگاه داده های مختلفی همچون Mysql 
  • مستندات راحت و روان و پشتیبانی خوب
  • مناسب برای افراد مبتدی 
  • وجود سیستم routing 
  • دارای سیستم کَش

معایب فریمورک Codeigniter :

  • عدم توسعه سریع کتابخانه ها و اجزای کمک کننده برای این فریمورک 
  • عدم وجود سیستم routing سریع و آسان مثل Laravel
  •  

فریمورک لاراول ( Laravel ) 

لاراول بعنوان محبوب ترین فریمورک مورد استفاده از سال 2015 به بعد میباشد و دلیل این اتفاق وجود ابزارهای زیادی و رشد سریع این فریمورک بوده است . لاراول کاملا شی گراست و از الگوی طراحی mvc برای توسعه خود استفاده کرده است ( هر چند در ابتدا ممکن است ساختار laravel گنگ باشد ). فریمورک لاراول برای پروژه های بزرگ و کوچک مناسب است.

فریمورک لاراول ( laravel )

این فریمورک ابزارها و ویژگی های بسیاری زیادی دارد که به برنامه نویسی یا توسعه دهنده ی وب کمک میکند در مدت زمان بسیار کم کارهای بیشتری انجام دهد . 

حداقل نسخه php مورد نیاز : 5.5.9

مزایای فریمورک Laravel : 

  • سیستم کَش قوی 
  • دارای سیستم مدیریت جداول پایگاه داده بنام migration 
  • دارای سیستم خط فرمان php artisan 
  • دارای موتور قالب سازی به نام blade
  • استفاده از composer برای دسترسی وابستگی 
  • استفاده از laravel mix جهت بهبود وضعیت و لود فایل های css و js با سرعت بالا
  • سیستم routing قوی
  • سیستم ایجاد فیلتر امنیتی به نام middleware 
  • دارای سیستم Auth یا احراز هویت کاربر بصورت آماده 
  • مستندات خوب

معایب فریمورک Laravel : 

  • نیازمندی های سروری بالا ( عدم نصب روی هاست های اشتراکی به خوبی )
  • اجرای کوئری های بالا در دیتابیس که باعث فشار به سرور و کاهش سرعت سایت میشود
  •  

فریمورک ایی ( Yii )

Yii یکی از فریمورک های php میباشد که اپن سورس و رایگان است . یکی از بهترین مواردی که در Yii وجود دارد و میتوان به آن اشاره کرد سرعت بارگزاری سایت هایی میباشد که با Yii ساخته شده اند . همچنین Yii سعی میکند با ابزارهایی که در اختیار برنامه نویس قرار میدهد باعث شود کدهای کمتری نوشته شود.

فریمورک Yii

مزایای فریمورک Yii : 

  • Yii از اکثر ابزارهای Ajax پشتیبانی میکند
  • از Jquery بصورت عالی پشتیبانی میکند 
  • ابزاری برای احراز هویت کاربران وجود دارد 
  • امکان نمایش خطاها و لاگ ها را به برنامه نویس میدهد 
  • افزونه های فراوانی دارد که کار توسعه را راحت تر میکند .

معایب فریمورک Yii : 

  • قواعد گنگ برای تازه کارها 
  • عدم وجود مستندات روان و ساده 

 

آمارهای جهانی فریمورک های PHP : 

آمار جستجوهای گوگل با google Trends

بروزرسانی مهم : توجه کنید که گوگل ترندز آمار دقیق سرچ ها نیست و ممکن است کلمه ای در روز هزار بار سرچ شود ولی در google trends مقدار سرچ آن صفر باشد. گوگل ترندز فقط برای نمایش کلمات ترند شده و میزان ترندینگ آن است که با آمار سرچ عادی بسیار فرق دارد و هرگز پیشنهاد نمیکنیم برای مقایسه ی زبان ها یا فریمورک ها و ... از گوگل ترندز استفاده کنید. آمار دقیق سرچ های یک کلمه در ابزار google ads وجود دارد.

 

اگر به سایت  google Trends مراجعه کنید و نام فریمورک ها را در لیست قرار دهید تا نتایج جستجوهای انجام شده از 5 سال پیش را بررسی کنید Laravel بعنوان فریمورکی که رشد چشم گیری دارد و در این آمار از همه فریمورک های PHP پیشی گرفته است.

آمار استفاده از فریمورک های PHP

در سایت های مختلف که آمار منتشر میکنند کافیست سرچ بزنید و اگر در گوگل سرچ کنید best framework for php شما میبینید که اکثرا Laravel در رتبه ی نخست قرار دارد اما دلیل نیست که حتما شما هم Laravel را انتخاب کنید چرا که انتخاب فریمورک به شرایط و کاری که میخواهید انجام دهید بستگی دارد .

 

نتیجه گیری 

به احتمال زیاد شما هم به این نتیجه رسیده اید که باید بین Laravel  , Yii , Codeigniter یکی را انتخاب کنید ! هر سه فریمورک نام برده استفاده های زیادی دارند مثلا همین الان که شما این وب سایت را مطالعه میکنید ما از فریمورک Codeigniter بهره گرفته ایم تا این وب سایت را بسازیم 

Codeigniter برای پروژه های شخصی و کوچک که میخواهید سریعا یک وب سایت پیاده کنید مناسب است. Laravel برای پروژه های متوسط به بالا که بصورت گروهی توسعه داده میشود کاربرد دارد . 

و Yii هم یک فریمورک خوب است که میتوانید یاد بگیرید و شروع کنید . 

در کل بحث خوب و بد بودن بصورت ذاتی مطرح نیست و براساس شرایط ، راحتی ، نیازمندی ها شما باید یک فریمورک را انتخاب کنید . 

پیشنهاد میکنیم برای هر یک از فریمورک های نام برده مدتی را اختصاص دهید و کمی از مستندات و آموزش های ویدئویی آنها را ببینید و بعد میتوانید به راحتی تصمیم بگیرید البته مقاله ی بالا ، بعنوان یک منبع روان و خوب برای شما تهیه شده است اگر با دقت نخواندید برگردید و دوباره مطالعه کنید 

 

 

لینک کوتاه این مقاله : https://avasam.ir/post/68
این سیستم برپایه ی علاقه مندی شما یک دوره ی مناسب به شما پیشنهاد میدهد
مرا بسوی بهترین دوره ی آموزشی که برای من مناسب است هدایت کن 🤖
برای استفاده ی دیگران و حمایت از ما در جامعه های زیر به اشتراک بگذارید

.:: نظرهای کاربران ::.
وحید غلامی / 4 سال پیش
سلام مقاله ی فوق العاده ای در مورد فریمورک های زبان php بود تشکر
امید غلامی / 5 سال پیش
مطالعه این مقاله دید خوبی به آدم میده
ماهان / 5 سال پیش
با سلام و تشکر، من هم گزینه ی لاراول رو به سایر گزینه ها ترجیح دادم، ولی ناگفته نماند که خیلی هم از اونها چیزی نمی دونم
رامین مرادی / 5 سال پیش
سلام وقت بخیر من برنامه نویسی شی شارپ دسکتاپ انجام میدم. و تازگیا اومدم سمت پی اچ پی بخاطر چندتا پروژه که قراره انجامش بدم. برا همین تصمیم گرفتم با یکی از فریمورکها شروع کنم و یادش بگیر. دوره کد ایگنایتور رو تهیه کردم دست آقای نیکزاد هم درد نکنه خیلی خوب و روان توضیح داده بودن. منم یکی از پروژه هامو شروع کردم. متاسفانه انتظاری که داشتم با انتخاب فریمورک کمی سرعت و دقت زیاد به کارم افزوده بشه متاسفانه برعکس شد. دو هفته از شروعش میگذشت که صفر درصد پیشرفت کرده بود کارم. و کلی با خطا و مطالعه و یادگیری اصلا نتونستم برم جلو(این مورد از یادگیری ضعیفه منه نه آموزشهای خوب استاد نیکزاد) این باعث شد الان سوئیچ کنم به سمت خود php که خوشبختانه الان که دو سه روزه شروع کردم پروژه م پیشرفت خوبی داشته و کاملا راضی هستم. شاید برا من مبتدی اینجور بوده و با فریمورک زیاد نتونستم را بیام. تو سی شارپ هم اینجور هستم. خودم دوس دارم با ado کار کنم تا اینکه برم سمت انتیتی . کلا اینجور مواقع همه فرایند دست خودمه و خودم کنترلش میکنم. هر چند سخته ولی برای من یکی شیرینه.
پوریا سلیمانی / 5 سال پیش
عالی
دوره ی آموزش پروژه محور ساخت کافه بازار دوره ی آموزش پروژه محور ساخت فروشگاه دیجیکالا آموزش لاراول دوره ی آموزش ویو جی اس