• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
فریمورک های PHP
#1
اما قبل از اینکه به دنیای توسعه PHP بروید و یک پروژه ضربه فنی کنید، اولین و مهمترین سوالی که ممکن است به ذهن شما برسد این است که بهترین فریمورک کدام است تا لذت، جذابیت و قدرت طراحی را یکجا با هم داشته باشد.

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



1. لاراول Laravel
در حال حاضر Laravel محبوبترین چارچوب PHP در زرادخانه GitHub است که همیشه بنیان های خوش آتیه، تست شده و قابل اعتماد را از میان سایرین پیشنهاد می کند. دانش لازم برای استفاده از Laravel آشنایی با PHP و مفاهیم برنامه نویسی شی گرا است و برای سطح متخصصان مناسب است.

ویژگی های منحصر به فرد

مسیریابی آرام Restful Routing که تمام مسیرهای client/server را به راحتی مدیریت می کند و منابع را به خوبی مرتبط می کند.
کنترل ذاتی ورژن پایگاه داده Inherent Database Version control
Blade Templating Engine سبک و قدرتمند است و توسط ارجاع الگو Template Inheritance فایل های دارای پسوند php اجرا می شوند. این قسمت زیر بخشی از معماری قوی MVC لاراول است.
Composer – یک ابزار شگفت انگیز است که به شما امکان می دهد بسته های third party برنامه خود را به راحتی مدیریت کنید.
لاراول با Eloquent همراه است – یک ORM بجهت پیاده سازی ActiveRecord برای کار با پایگاه های داده به شما ارائه می دهد و نسبتا سریع تر از همه فریمورک های دیگر PHP است.
واحد تست درونی ساده و Syntax فوق العاده خواندنی.
جامعه بزرگتر با هزاران برنامه نویس و طراح نرم افزار.
صفحه بندی اتوماتیک برای مدیریت لینک های صفحه با تنها گزینه پیکربندی تک فایل “app / config / view.php”. به طور کلی، صفحه بندی یک وظیفه سنگین برای توسعه دهندگان است و به ویژه دسته ای از تنظیمات غیر ضروری، که همه چیز را در کد قرار می دهد. اما با Laravel، شما می توانید این کار را در یک لحظه با گزینه ‘paginate’ در نمایش لغزان و یا مشاهده ساده انجام دهید. بهترین بخش این کار با Laravel این است که هر دو این View ها به طور کامل با چارچوب Bootstrap توییتر هم سازگار است.
Logic Application که می تواند در هر یک از برنامه های وب با دو روش گنجانده شده – یا کنترل کننده های Laravel و یا Route declaration با استفاده از یک Syntax شبیه به چارچوب Sinatra.
هوشمندانه طراحی شده تا انعطاف پذیری باورنکردنی را برای توسعه دهندگان فراهم کند که به آنها کمک می کند تا هر قسمت و همه چیز را از سایت های کوچک تا برنامه های سازمانی غول پیکر را ایجاد کنند.


2. فالکن Phalcon
Phalcon یک چارچوب کامل وب برای PHP 5 است که به عنوان یک برنامه افزودنی C نوشته شده و اجرا شده است. Phalcon اساسا با هدف ایجاد و حفظ برنامه های کاربردی وب با قابلیت تنظیم بالا و همگام سازی دستورالعمل های توسعه سازمانی ایجاد شده است. فالکن نیز برای سطح دانش متوسط مناسب است.

ویژگی های منحصر به فرد

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


3. سیمفونی Symfony
سومین رتبه به Symfony در میان تمامی چارچوب های دیگر PHP اختصاص داده شده است. این یکی از فعال ترین چارچوبهاست که با ORM قدرتمند و مستندات عالی ارائه می شود. تطبیق پذیری مدام و سریع آن می تواند بیان این واقعیت باشد که دروپال، یکی از محبوبترین سیستم های متن باز تولید محتوا در جهان از کامپوننت های سیمفونی در آخرین نسخه خود استفاده می کند. این فریمورک برای هر دو سطوح حرفه ایی و متوسط مناسب است.

ویژگی های منحصر به فرد

یکی از پایدار ترین و انعطاف پذیر ترین چارچوب هاست که با سرعت خوب با تمام نیازهای شما سازگار است.
قابلیت پیکربندی کامل با “Dependency Injector” و “Dispatcher Event”.
می تواند به عنوان یک ریز فریمورک جداگانه (Symfony 2) بدون نیاز به اختراع مجدد چرخ و نصب کل فریمورک استفاده شود.
به شما اجازه می دهد همه چیز را با توجه به نیازهای خود بسازید و سفارشی کنید.
اکوسیستم در حال رشد جامعه متخصصین، لیست ایمیل ها و IRCs و غیره و بسیاری از شرکت های خدمات دیگر.
قابلیت افزودن بی حد به واسطه “Bundles” به قصد اضافه کردن ویژگی های اضافی به فریمورک.
قدرت و توان توسعه و بهره وری را با استفاده از نقش های تعیین شده افزایش می دهد.
قابل دسترس برای متقاعد کردن متخصصان و کاربران پیشرفته با مستندات شگفت انگیز و روش های برتر.


4. Yii Framework
Yii یک چارچوب غنی با عملکرد بالا است که عمدتا به زیبایی کد تمرکز می کند در حالی که تمام کارهای نا زیبا را کاملا پشت صحنه انجام می دهد. بسیاری از چیزها در Yii به طور خودکار اتفاق می افتد اما هنوز منحنی یادگیری کمی تند است. این فریمورک نیز برای سطح دانش متوسط مناسب است.

ویژگی های منحصر به فرد

سیستم Cache قدرتمند که برنامه های وب را بسیار سریع بارگیری می کند.
امنیت در بهترین حالت با Yii. از اعتبار سنجی ورودی و فیلتر خروجی به حملات تزریق SQL و پیشگیری از اسکریپت های XSS، همه چیز را برای اطمینان از اینکه برنامه شما امن و مطمئن است ارائه می دهد.
پشتیبانی عالی برای اجرای هر دو تست واحد و تست های عملکرد، که بر اساس PHPUnit و Selenium است.
اگر شما در هر جایی گیر کرده باشید مستندات دقیق برای همه چیز وجود دارد. هر یک از متد یا property ، همه چیز به وضوح و به طور سیستماتیک مستند شده است.
با کدهای Third Party فوق العاده کار می کند. این برنامه به گونه ای طراحی شده است که شما حتی می توانید از کد فریمورک های PEAR یا ZEND در Yii Web Application خود استفاده کنید.
دارای پشتیبانی درون ساخته شده در تأیید اعتبار است که از طریق RBAC (کنترل دسترسی مبتنی بر نقش) تسهیل شده است.
به خوبی با JQuery ادغام شده و همراه با ویجت های مهم Ajax مانند تکمیل خودکار، Treeview، Grid داده ها و غیره به شما اجازه می دهد تا UI بسیار کارآمد و همه کاره را بنویسید.
پشتیبانی از ترجمه پیام، قالب بندی تاریخ و زمان، قالب بندی شماره، و محلی سازی رابط.
کد های حرفه ای تمیز و قابل استفاده دوباره را طبق الگوی MVC ارائه می دهد.
با هر دو پایگاه داده های relational و non-relational بخوبی کار می کند.


5. Codeigniter
Codeigniter برای یادگیری میکرو فریمورکی با انعطاف پذیری بی نظیر و مستندات جامع ساده می باشد. این فریمورک برای مبتدیان مناسب است.

ویژگی های منحصر به فرد

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


6. CakePHP
CakePHP در میان تمامی فریمورک های وب متن باز که به دنبال رویکرد Model-View-Controller (MVC) و الگوهای طراحی نرم افزار است، رتبه پنجم را داراست. برای سطح حرفه ایی مناسب می باشد.

ویژگی های منحصر به فرد

تولید کد خوب و ویژگی های scaffolding که به سرعت برای ساخت نمونه های اولیه به تناسب نیازهای شما مناسب است.
بدون تنظیمات پیچیده فایل XML / YAML برای راه اندازی پایگاه های داده.
کاملا مناسب برای برنامه های تجاری.
قابلیت های ساخت فوق العاده مانند دسترسی به ترجمه، دسترسی به پایگاه داده، ذخیره سازی، اعتبار سنجی و احراز هویت.
حفاظت از برنامه از عناصر ضد اجتماعی از طریق حفاظت CSRF، حفاظت از نفوذ، پیشگیری از تزریق SQL، جلوگیری از XSS.


7. Zend
Zend یک چارچوب است که تنها برای پروژه های سازمانی مناسب است. هیچ چارچوب دیگری نمی تواند با انعطاف پذیری، مقیاس پذیری و قابلیت اطمینان آن مطابقت داشته باشد. با این حال، این چارچوب برای مبتدی ها و حتی متوسط ها مناسب نمی باشد، اما می تواند برای تنها یک گروه خاص که کاملا متخصص در برنامه نویسی PHP و مفاهیم شی گرایی هستند مناسب باشد.

ویژگی های منحصر به فرد

کارا ترین و بهره ور ترین روال کار با خصوصیت API-centric با سرعت اجرای بالا.
استفاده از متدولوژی Agile با تمرکز بر برنامه های کاربردی با کیفیت بالا.
پشتیبانی از Cloud در سرور تا حد کلاس جهانی. بدون قفل کردن Cloud، می توانید هر کاری نیاز دارید انجام دهید.
به طور ذاتی ساده سازی و اتوماسیون را برای تولید کد و برنامه بکار می گیرد.
جالب ترین ویرایشگر Drag and Drop و پشتیبانی از front-end بی نظیر (HTML، CSS و JS) برای سهولت کار برنامه نویس.
امکان Online Debugging و PHP Unit testing برای تهیه گزارش و تست کد.
دارای Database Wizard و Editable Table Viewer برای ارتباطی منحصر به فرد با دیتابیس.
خوب، به نظر من، تصمیم گیری عاقلانه در انتخاب بهترین فریمورک بسیار مهم است، زیرا این تنها چیزی است که می تواند برنامه وب شما را ایجاد یا خراب کند. فقط با آنچه که دیگران انتخاب می کنند کار خود را انجام ندهید. از متخصصان مشاوره بگیرید یا زمانی برای مطالعه و بررسی نیاز های خود صرف کنید.



مقایسه ASP.Net و PHP
در زمان بررسی و مقایسه زبان های برنامه نویسی سمت سرور همیشه نام ASP.Net بعد از PHP به حافظه می آید. ASP.Net محصول میکروسافت است که سال ها در این زمینه با ورژن های مختلفی کار کرده است. در ادامه سعی می کنم که این دو زبان قدرتمند را در چند حوزه برای شما مقایسه کنم.

1. هزینه
PHP و MySQL server, PostgreSQL server, Apache server, Linux OS رایگان هستند و به روزرسانی آنها نیز رایگان است. علاوه بر این، هزینه لایسنس اضافی برای داشتن یک سرور آماده بکار دیگر به عنوان پشتیبان یا برای اجرای چند سرور برای متعادل کردن بار یا Clustering وجود ندارد.

LAMP (لینوکس، آپاچی، MySQL و PHP) نیز در میان شرکتهای میزبانی وب بسیار محبوبتراست و محبوبیت آن در مقایسه با میزبانی ویندوز با هزینه میزبانی کمتری برای LAMP همراه است.

اگر سیستم عامل ویندوز، ASP.net و IIS رایگان هستند اما هزینه لایسنس قابل توجهی برای مایکروسافت ویندوز سرور، مایکروسافت SQL سرور و ارتقاء های آینده وجود دارد. هزینه های صدور لایسنس برای مایکروسافت می تواند بطور قابل توجهی افزایش پیدا کند، مثلا اگر سایت محبوب شود و برای اجرای سایت در سرورهای چندگانه یا ویژگی های سرور مانند متعادل سازی بار، clustering سرور، سرور پشتیبان نیاز پیدا کند پر هزینه تر می شود.

2. پشتیبانی و منابع
از آنجا که LAMP متن باز است، تعداد زیادی از توسعه دهندگان و داوطلبان در سراسر جهان وجود دارند که به طور مداوم آن را بهبود، به روزرسانی و بطور دوستانه پشتیبانی می کنند. علاوه بر این منابع پشتیبانی و توسعه دهندگان بیشتری برای پلتفرم PHP و LAMP در دسترس هستند.

دلیل این که من کلمه “دوستانه” را ذکر کردم این است که توسعه دهندگان متن باز در انجمن های آزاد متن باز این کار را برای سود مالی نمی کنند. اگر به دنبال یک چالش عملی هستید یک سوال در یک انجمن PHP ارسال کنید، اطلاعات مفیدی از طرف همکاران بطور دوستانه دریافت خواهید کرد.

در مقابل ASP.net بر تعداد توسعه دهندگان مایکروسافت برای ارتقاء و به روز رسانی ها متکی است. پشتیبانی کننده بسیار کمتری برای حل چالش های ASP.net وجود دارد.

3. زمان استقرار
مقدار بیشتری (خطوط بیشتر) کد برای انجام ویژگیهای پیچیده و عملکردها با ASP.net در مقایسه با PHP نیاز است و زمان را برای فرایند توسعه افزایش می دهد.

علاوه بر این، PHP در سرور تفسیر می شود، بنابراین هنگام تغییر قابلیت، هیچ گام اضافی برای دیدن تغییرات لازم نیست. از سوی دیگر، هر بار که کد اصلاح می شود، ASP.net باید کامپایل شود. باز هم، فرآیند توسعه وقت بیشتری را در هنگام استفاده از ASP.net در مقایسه با PHP دارد.

4. ویرایشگر و ابزارها
PHP و MySQL از ویرایشگر مستقل است. توسعه دهندگان PHP به تعدادی زیادی از ویرایشگرها دسترسی دارند. بیشتر برنامه نویسان ASP.net به ویرایشگر مایکروسافت ویژوال استودیو وابسته هستند. (بسیاری از توسعه دهندگان ASP.net مایکروسافت ویژوال استودیو را دوست دارند و به آن قسم می خورند).

این یک سبک متفاوت برنامه نویسی است – PHP و توسعه دهندگان منبع باز تمایل دارند از ویراشگران متن مانند VI، VIM، Notepad ++ استفاده کنند. VI و VIM ویرایشگران بسیار پیشرفته و مستقل هستند، و برنامه نویسانی که این ویرایشگرها را با تمام توانایی ها یاد می گیرند و از آنها استفاده می کنند، می توانند برنامه های بسیار پیچیده ای را سریع، کارآمد و مستقل توسعه دهند. این برنامه نویسان کنترل و انعطاف پذیری بیشتری دارند و هنگامی که نیاز به استفاده و ادغام سایر پلتفرم های اساسی مانند جاوا اسکریپت، Ajax، JQuery و غیره وجود دارد، توسعه دهندگان PHP به دلیل آشنایی با محیط متن باز با استفاده از VI یا VIM برتری بهتری دارند.

5. پلتفرم مستقل
PHP از پلتفرم مستقل است و می تواند بر روی هر پلتفرم – Linux، Unix، Mac OS X، Windows اجرا شود. اما ASP.net برای اجرا بر روی پلتفرم ویندوز ساخته شده است. وب سایت های معروفی چون گوگل، فیسبوک، یاهو، ویکیپیدیا و وردپرس برای همین قابلیت است که از PHP نیز استفاده می کنند.

6. آسانی و قابلیت استفاده دوباره
بسیاری از سوء تفاهمات و اطلاعات غلط درباره غیر دوستانه بودن لینوکس وجود دارد. این واقعا بستگی به تجربه و دانش شخص استفاده کننده از پلتفرم دارد.

با این حال، باید بگویم که من با نسخه های جدید و پیشرفته محبوب لینوکس تحت تاثیر قرار گرفته ام. این نسخه های لینوکس مانند Ubuntu, Red Hat, CentOS, openSUSE, Fedora کار بزرگی را برای سهولت نصب، راه اندازی و همچنین یک رابط گرافیکی ساده و مستقیم ارائه می دهند که باعث تنظیم و پیکربندی آسان یک سرور لینوکس می شود.

متأسفانه، به نظر من، مایکروسافت سرور با استفاده از قابلیت های خود به عقب برگشته است: با داشتن مدیریت سرور پر از ویژگی های پیچیده و غیر ضروری. این مورد نیز می تواند نسبت به پروژه شما در تصمیم گیری درباره ASP.Net تاثیر بگذارد.



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


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان