فریم ورک های php

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

وقتی شما در کلاس های وب شرکت می کنید بخش بکند یا سرور ساید را همراه با Html و CSS و همینطور javascript که برای بخش فرانت یا کلاینت می باشند می خوانید.و وقتی سمت سرور میخواهید زبانی یاد بگیرید اکثرا به سمت PHP کشیده می شوید زیرا کتابخانه های گسترده و همینطور حمایت های زیادی داره و مهم تر از همه چارچوب (frameworks) .
کد های PHP در داخل کد های Html جاسازی می شوند که بعدن توسط مفسر هایی که به طور معمول در سرور شما نصب شده است تفسیر می شوند که کد های PHP را به کد های Html تبدیل می کنند. که بعد از این کد های ترکیب شده توسط مرورگر های وب تقسیر می شوند.
این پروسه توسعه دادن زمان زیادی می گیرد به ویژه زمانی که شما اپلیکیشن بزرگی طراحی کرده اید ، و همینطور شما نیاز دارید یک سری کد های نسبتا تکراری رو هی تکرار کنید و دوباره بنویسید.
درست مانند زبان های دیگه ای که از framework ها برای صرفه جویی در مصرف زمان ، استفاده می کنند ما شاهد بوجود آمدن تعدا عظیمی از این framework ها برای زبان PHP بودیم. اول که میخواهید با PHP شروع به کار کنید انتخاب کردن یک framework مناسب برای شما خیلی مهم و دشواره برای همین هم ما برای شما فایده ها و ضرر های چند framework مهم و پر کاربرد را آورده ایم.

 

 

 

 

1)Laravel

این framework معروف ترین چارچوب PHP است که در حال حاضر وجود دارد که بهترین آن محسوب می شود. Laravel یک framework متن باز است که به شما اجازه خواندن نوشتن و ویرایش کردن و تغییر دادن کد ها رو بر اساس نیازتون می دهد. که کد های مبنع آن در Github موجود است.
این سیستم متن باز انعطاف پذیری را به طور چشم گیری افزایش می دهد. که برای توسعه دهندگان PHP بسیار مناسب است که در کد های منبع آن عمیق شوند و خصوصیات آن را تغییر دهند و همینطور زمینه یادگیری را برای توسعه دهندگان تازه وارد ایجاد می کند.
وقتی نوبت به سیستم ها ماژولار می رسد Laravel از مورد اطمینان ترین آن ها بهره می برد . اگر شما قبلا هر framework رو استفاده کرده باشید می دونید که framework ها یک سری وابستگی های خارجی هم دارند. که شم باید آن ها را به صورت جداگانه دانلود کنید. مانند بقیه ، Laravel هم یک سری وابستگی ها برای ویژگی هایی که ارایه می دهد دارد. ولی تفاوت آن با سایرین در این است که با Composer ها تولید شده.
Composer ها نقش یک مدیر وابستگی مدرن ، یک نصب کننده و یک بارگذار خودکار کلاس ها را اجرا می کنند که به شما اجازه می دهند که فایل های جدید تعریف کنید و همینطور کلاس های جدید و از همه بهتر یک پروژه کامل رو هر زمان که بخواهید!
فقط شما نیاز دارین که بدونین که ابزار های شما توسط Composer ها بارگذاری شده و بعدش شما میشینید و استراحت می کنید و به Composer اجازه میدین که مابقی کار را انجام دهد.
این خصوصیت به شما اجازه می دهد که به محض اینکه Laravel را دانود کردید بتونید باهاش پروژه ای رو تعریف کنید و برای ادامه ی شبیه سازی های خارجی نیازی نیست که نگران باشید.
اگر شما به سایت اصلی آن سر بزنید میبینید که این چارچوب بیشتر برای هنرمندان ساخته شده است (کسانی که با هنر سر و کار دارند ) که این به معنی است که آن ها کاملا در تلاش اند که کد ها کاملا برای خواندن راحت و بسیار ظریف باشند . جدا از اون Laravel با یک ابزار command-line به نام Artisan مجهز است که به شما اجازه می دهد تا کار های گوناگونی را با command-line های آسون انجام بدین.
برای ORM خود Eloquent استفاده می کند. برای اشکال زدایی از کتابخانه Whoops استفاده می کند. که مراقب تمام مشکل های درون کد می باشد . بسیاری از توسعه دهندگان نگران مهاجرت کردن دیتابیس خود به هارد دیسک ها هستند که Laravel به خوبی از آن حمایت می کند.سایت رسمی آن هم یک سری آموزش های اسلایدی به نام Laracasts دارد.
با ترکیبی از Comporse ، Artisan ، Eloquent و Whoops library ثابت کرده است این framework یک محیط بزرگ می باشد . من این framework را به همه ی تازه واردا پیشنهاد میکنم که میتونن باهاش پروژه های طولانی رو به خوبی حمایت کنند.

2)Codelgniter

در سال 2006 وارد بازار شده است که یک framework سبک وزن محسوب می شود. وقتی برای اولین بار وارد بازار شد توسط توسعه دهندگان PHP مورد استقبال قرار نگرفت . در آن زمان این framework از PHP 4 استفاده می کرد ( که کمترین نیازمندی آن بود) ، بنابراین توسعه دهندگان PHP آن را خسته کننده و همینطور برای پروژه های سنگین دشوار دیدن.( بیشتر ترجیح میدادن با PHP 5 برن جلو!)
ولی از زمانی که توسعه دهندگان اصلی Codelgniter شروع به حمایت از آن به صورت رایگان کردند و به عنوان یک framework متن باز PHP آن را منتشر کردند به یک frameworkحرفه ای تبدیل شد برای همه ی اپلیکیشن ها!
حالا ورژن آخری ان از PHP 5.5 حمایت می کند و کمترین نیازمندی آن PHP 5.2.4 (که بهتر هم هست) می باشد.این framework کاربران تازه وارد این عرصه را جذب می کند ، برای کسانی که می خواهند با کد کمتر کارهای بیشتر انجام بدن و یه جورایی کارشون بهینه باشه.
اگر شما مایلین که کارایی اپلیکیشن ، و همینطور از پلاگین ها استفاده کنید این framework خیلی به کار شما می آید . همه ی وابستگی های خارجی این framework تنها با گرفتن 1 بسته فراهم می شوند. پس شما نیازی ندارین که هر کدوم رو به طور جداگانه دانلود کنید.
اگر شما به وب سایت آن ها مراجعه کنید میبینین که سند های آن ها به صورت آموزش در دسترس است این به این معنی است که شما نیازی ندارین که از منابع آن ها شروع به یادگیری کنید و همینطور این حمایت رسمی به این معنیه که شما بهترین کیفیت آموزش رو دریافت می کنین!
اگر شما میخواهین که با PHP شروع به کار کنید و همینطور هم با framework ها یاد بگیرین کار کنین ، این framework رو به شما پیشنهاد می کنم.

3)Symfony

یک framework ی است که برای سرعت را به حداکثر برساند و همینطور انعطاف پذیری را وقتی شما یک اپلیکیشن با PHP می سازید که پیچیده است ، زیاد می کند.
بسیاری از اجزای Symfony 2 در بسیاری از پروژه ها من جمله Drupal و انجمن phpBB استفاده شده است.
متن باز استپس شما میتونید به راحتی بخونید و ویرایش کنید و تغییراتی که میخواهید رو اعمال کنید.
وب سایت آن ها میگوید ” Symfony جمعی از اجزا و یک چارچوب برای اپلیکیشن های وب ، یک فلسفه و یک اجتماع است ؛ همه با هم مانند هارمونی کار می کنند.” همونطور که قبلا هم بهتون گفتن خیلی از چارجوب های PHP از اجزای Symfony استفاده میکنند ، اگر شما تا الان از framework دیگه ای استفاده کردین متوجه یک سری شباهت ها بینشون میشید.
اگر بحث کوچیترین framework php در میان باشد ، اونموقع Symfony برنده اس!یا اینکه شما بخواهید کاراریی رو در اپلیکیشن های خودتون بالا ببرین و بخواین مکانیزم آن را در PHP درک کنید هم Symfony را بسیار جذاب میابید.
با تشکر از جامعه ی وسیع توسعه دهندگان PHP آموزش های این framework را به راحتی می توانید از بسیاری از وب سایت ها دنبال کنید.
اگر شما به Ruby و Rails کار کرده باشید متوجه تشابهات بسیار زیاد آن ها میشید ، و وقتی هم که با این framework کار می کنید هم این تشابهات زیاد اتفاق می افتد.
اگر شما به دنبال کم حجم ترین و کوچیکترین چارچوب می گردین من به شما این framework رو پیشنهاد می کنم.

4) Zend framework2

این framework را می توان هم دسته ی Laravel قرار داد به طوریکه این تقریبا یک framework سنگین در مقایسه با framework های قبلی ای که صحبت کردیم می باشد. که همینطور یادگاری اون رو هم در ذهنتون کمی مشکل میکنه!
به خصوص اگر تازه کار باشید تو PHPو هیچی از پایه ی داستان ندونید.
با این framework شما میتوانید یک اپلیکیشن امن ، قابل مقیاس ، قابل تست ، و همینطور قابل نگهداری تولید کنید.
به شدت ماژولار است به این معنی که هر کلاسی در این چارچوب جایگاه خاص خودش رو داره برای همین هم برای اجرای یک کد ساده شما اصلن به بارگذاری اون کلاس نیاز پیدا نخواهید کرد.اگر چه برای یک سری کار ها شما به کلاس های مخصوصی نیازمندین و خب ممکنه در پیش زمینه ی شما بارگذاری بشه.
Zend framework2 بسیار سبک وزن است . به طور مثال شما فقط نیاز دارین تا چند MBs دانلود کنید که به این معنیه که شما همه چیز در یک بسته منفرد دارین!
در ورژن قبلی Zend شما باید چندین خط کد می نوشتین تا یک عملکرد ساده رو بخواهید انجام دهید. ولی در این ورژن شما ممکنه چند خط محدود کد بزنید و انتظار داشته باشین که عملکرد های مختلفی همزمان باهم انجام بشن. که خب یک پیشرفت فوق العادس!
همانند Laravel یک اجتماع وسیعی ازش حمایت می کنند ! شما به راحتی می توانید مشکلات خودتون رو در رابطه با این framework در انجمن ها مطرح کرده و انتظار تعداد بسیار زیادی جوا داشته باشید.
من این framework را به کسانی که پایه های کار را درک کردن پیشنهاد می کنم و همینطور کسانی که دنبال جواب های منطقی و بدون نقص هستند بدون نگرانی برای شهرتشون!

5)Yii 2

این framework PHP در مقابل framework های دیگر برای تکنیک های lazy loading ای که داره به عنوان سریعتر شناخته شده است. از تکتیک OOP استفاده میکند به معنی شی گرایی و خب اگر شما با این مدل برنامه نویسی یعنی شی گرایی راحتین ، بنابراین شما به طرز عجیبی به این framework علاقه مند می شوید.
و همینطور این چارچوب از سیستمی پیروی می کنید که شما تعدا خط های کد کمتری را در مقابل کاری که انجام قراره بشه میزنین.
بهترین چیز در باره ی این framework است که با JQuery بسیار یکپارچه عمل می کند و همینطور بسیاری از خصوصیات ajax هم در آن قابل استفاده است.
این فریم ورک همینطور کار کردن با فرانت را هم بسیار اسان کرده ایت و قالب دهی های خوبی دارد.با تولید کننده ی کدی با نام Gi کار می کند که برای برنامه نویسی های شی گرا بسیار مناسب است .
جدا از همه ی خصوصیت ها Yii2 به شما این امکان را می دهید که با یک رابط بر مبنای وب کد های خود را تولید کنیم که باعث میشه همش کد های تکراری ننویسیم و خب از رابطتتون میتونین کمک بگیرین.
اگر شما از نرم افزار های از جمله Dreamweaver کار کرده اید حتما میدونین که از یک تولید کننده ی کدی برای کد های Html خود استفاده می کند.
من این چارچوب را به کسانی که به یک framework سریع نیاز دارند و همینطور از نوشتن زیاد کد هم دل خوشی ندارن پیشنهاد میکنم.

6)CakePHP

مدل اولیه ی آن در سال 2005 انتشار پیدا کرد و در بین معروف ترین framework های PHP شناخته شده است.با امدن ورژن جدید این framework ما شاهد افزایش مدیریت اجرا و و یک سیستم ماژولار سنگین که با تغییر و بهبود یافتن برخی اجزا و هماهنگ کردن آن ها بوجود آمده است و همینطور قابلیت جدیدی برای درست کردن کتابخانه های مستقل درست ا استفاده از یک بسته ی منفرد می باشیم!
این framework با خصوصیات امنیتی ویژه ای آمده است مثلا امنیت و کنترل ورودی ها و استفاده از SQL injection و مراقبت CSRT وپیشگیری XSS و بسیاری از موارد دیگری که یشه نام برد.
خیلی از وب سایت ها در حال حاضر هستند که از CakePHP استفاده می کنند مانند Hyndai , Express ,BMW و …که باعث یشه ما به این framework به عنوان یک framework که قابلیت پاسخ گویی به سیستم های بزرگ دارد را ، برگزینیم.
برخلاف سایر framework های PHP این چارچوب قابلیت استفاده از تکیه کلام های برنامه نویسی را ندارد پس این چارچوب درست چیزیه که شما از یکframework PHP انتظار دارین چیزی بیشتر و چیزی کمتر نداره!
این باعث میشه این framework بسیار قابل اطمینان باشد چراکه می توانید بفهمید که توسعه دهندگان این چارچوب PHP تمرکز خودشون رو گذاشتند که فقط یک framework مناسب تولید کنند و خیلی وقت صرف کار های زیاد تر از اون نکردند و به حاشیه فکر نکردند.

7)Silex

این framework PHP بر اساس اجزای چارچوب Symfony 2 ساخته شده است که این به این معنی است که اگر شما قبلن با Symfony کار کرده باشین استفاده از ای framework برای شما هیچ کاری نداره. شباهت بسیار زیاد این 2 چارچوب باعث میشه که در هنگا استفده از این framework شما حس کنید که دارید از یه framework با ظاهر مختلف استفاده می کنید. تفائتی که این framework با سیر framework های PHP دارد این است که شما برای ساختن اپلیکیشن های قوی و بزرگ فقط کافیه یک سری کد خالص PHP بزنید و تمام! نیازی به تیکه کلام های وب پیدا نمی کنید!
همونطور که قبلن اشاره کردم این framework از همان اجزای Symfony استفاده می کند اسن باعث میشه که مهاجرت بین این 2 framework بسیار اسان باشد. خب شما اگر از Symfony استفاده کنید خیلی ببراتون تدیل این 2 به هم آسون خواهد بود.
مسیله جالب در رابطه با Silex این است که استفاده از کتابخانه های سه گانه قبلن از model و view استفاده می کردند و حمایت می کردند که شامل Twig ، Doctrine و … می شوند فقط با کمی دقت متوجه می شوید که در بعضی از سطوح این framework کم حجم ترین چارچوب برای قسمت controller شما می باشد که در مقایسه با framework های دیگر که وابسته به بسته های دیگر برای ساخن اپلیکیشن خود هستند.
اگر شما به دنبال یک framework کم حجم تر از Symfony با همون کار ها و حتی بیشتر هستید از این framework استفاده کنید.

8) Phalcon

سرعت آن به اندازه Falcon است که در سال 2012 انتشار پیدا کرده است و تا این زمان مشهوریت زیادی در بین توسعه دهندگتن وب پیدا کرده است. به زبان های c و C++ نوشته شده است که بهترین و بیشترین قابلیت اجرا را برای ما داشته باشد در صورتی که توجه داشته باشین که کلاس های ما به زبان PHP نوشته شده اند.
ک به این معنی است که شما می توانید به زبانPHP برنامه نویسی کنید.که خب برای زبان های محلی دیگه هم استفاده میشه و خب به کد نویسی PHP هم کمک می کند.
Phalcon با بسیاری از خصوصیت های ویژه ای همراه می باشد مانند بارگذار خودکار و مدیریت دارایی ، پلاگین های امنیتی ، سیستم ترجم ، سیستم کش و بسیاری از موارد دیگر.که به طور سند شده در سایت رسمی آن های وجود دارد شما بسیار راحت می توانید کاربرد های آن ها را یاد بگیرید برای همین هم نیازی به منبع دیگری برای یادگیزی آن پیدا نمی کنید.
این framework به شما یک سری اشیا سستی رو ارایه می دهد که باعث می شود که از این اشیا در اجزایی که میخواهید بر اساس نیاز خودتون بتونید استفاده کنید .
اگر شما بخواهید یک اپلیکیشن پیچیده ای رو که به منابع سنگینی نیاز داره بسازید یا می خواهید اپلیکیشن های PHP را که سریع اجرا شود را توسعه دهید این چارچوب شما را ناامید نخواهد کرد.
اگر شما می حواهید که از یک framework ساده ی PHP استفاده کنید و همینطور سرعت اجرا هم برای شما مهم باشد من استفاده از این framework را به شما پیشنهاد می کنم.

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Time limit is exhausted. Please reload the CAPTCHA.