کدام فریمورک PHP ؟

کدام فریمورک PHP ؟


اشتراک گذاری :

۱۳۹۸/۳/۱۹- تعداد بازدید : ۱۹۴۰ بار - دسته بندی : زبان برنامه نویسی پی اچ پی

چرا برای برنامه نویسی PHP باید یکی از فریمورک های آنرا انتخاب کرد ؟ 

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

استفاده از فریمورک های PHP مثل جلوگیری از اختراع مجدد چرخ است . بطوری که خیلی از کارها که برنامه نویس بصورت تکراری باید انجام دهد توسط فریمورک ها انجام شده است  .

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

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

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

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

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

در زیر دلایل خوبی برای استفاده از فریمورک در PHP آورده شده است : 

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

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

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

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

معرفی فریمورک های معروف Php 

 

فریمورک Zend Framework

یکی از فریمورک های اپن سورس php است که قابل نصب بر روی سرورهایی است که  php نسخه ی 5.6 و بالاتر را دارد.

100% شی گرا میباشد . 

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) می‌باشد.

در ساخت ، سیستم مدیریت محتوای 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 و شی گرایی بصورت کامل پشتیبانی میکند . به راحتی قابل دانلود و نصب است . بعد از دانلود فریمورک مستندات کامل آن درون فایل دانلود برای شما گنجانده شده است . 

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

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

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

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

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

فریمورک Laravel 

لاراول بعنوان محبوب ترین فریمورک مورد استفاده از سال 2015 به بعد میباشد و دلیل این اتفاق وجود ابزارهای زیادی و رشد سریع این فریمورک بوده است .

لاراول کاملا شی گراست و از الگوی طراحی mvc برای توسعه خود استفاده کرده است ( هر چند در ابتدا ممکن است ساختار 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 از اکثر ابزارهای Ajax پشتیبانی میکند
  • از Jquery بصورت عالی پشتیبانی میکند 
  • ابزاری برای احراز هویت کاربران وجود دارد 
  • امکان نمایش خطاها و لاگ ها را به برنامه نویس میدهد 
  • افزونه های فراوانی دارد که کار توسعه را راحت تر میکند .

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

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

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

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

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

مقایسه جستجوی فریمورک های php در گوگل

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

 

جمع بندی و انتخاب نهایی : 

به احتمال زیاد شما هم به این نتیجه رسیده اید که باید بین Laravel  , Yii , Codeigniter یکی را انتخاب کنید !

هر سه فریمورک نام برده استفاده های زیادی دارند مثلا همین الان که شما این وب سایت را مطالعه میکنید ما از فریمورک Codeigniter بهره گرفته ایم تا این وب سایت را بسازیم 

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

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

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

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

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

البته مقاله ی بالا ، بعنوان یک منبع روان و خوب برای شما تهیه شده است اگر با دقت نخواندید برگردید و دوباره مطالعه کنید 

 

 


مطالب زیر ممکن است برای شما مفید باشد
کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی مقایسه ی atom ، vscode و sublime برای توسعه وب مقایسه بین react Native و Kotlin Flutter یا React Native از دید یک توسعه دهنده تولید برنامه های موبایل با React Native

برچسب ها : فریمورک فریمورک پی اچ پی آموزش فریمورک آموزش فریمورک پی اچ پی انتخاب فریمورک پی اچ پی بهترین فریمورک پی اچ پی فریمورک php بهترین فریمورک php برترین فریمورک php مقایسه فریمورک های php کدام فریمورک php شروع فریمورک php مقایسه لاراول مقایسه لاراول و کدایگنایتر مقایسه laravel و codeigniter ویرایش شده فریمورک

برای نوشتن نظر باید وارد شوید ورود

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