چرا از PHP استفاده می کنیم؟ پاسخ به همه سوالات رایج کاربران
بیایید خیلی زود تمومش کنیم: PHP زبانی عجیب و زشت است. سرعت فوق العاده ای ندارد و از نظر ساختار گرامری نیز زیبا نمی باشد. نظر صریحی درباره شیوه های مناسب توسعه نرم افزار ندارد. اما زبانی است که باز هم بسیاری از نرم افزارها را با آن می نویسیم. سؤال اصلی این است: چرا؟ چرا امروزه از PHP استفاده می کنیم؟
فراتر از اولویت های دلخواه شخصی، دلایل بسیار خوب زیادی برای استفاده از آن وجود دارد. اینجا جایی است که این دلایل را به طور دقیق نشان می دهد. چرا زبان PHP را برای توسعه وب انتخاب می کنیم؟
PHP چیست؟
به طور خلاصه PHP زبان برنامه نویسی برای وب است و از زبان برنامه نویسی C ساخته شده است. از تگ های خاصی شبیه به HTML (یا علامت های ساده) برای نوشتن کد استفاده می کند. زبان برنامه نویسی PHP در سمت سرور استفاده می شود، به این معنا که بر روی نرم افزار وب سروری اجرا می شود که معمولا HTML را به بازدید کنندگان ارائه می دهد.
PHP در ابتدا مخفف عبارت“Personal Home Page” بود. ولی از آنجا که این عبارت کاملا، معنی و دلیل استفاده از این زبان را برای استفاده عمومی محدود می کرد، آن را تغییر دادند و اکنون PHP مخفف بازگشتی از عبارت “PHP: Hypertext Preprocessor” می باشد.
حتما بخوانید: دانلود رایگان ۵ تا از بهترین جزوه های PDF آموزش برنامه نویسی php
با PHP چه کاری می توان انجام داد؟
PHP در چه مواردی استفاده می شود؟ اصولاً هر کاری که بخواهید روی وب سرور انجام دهید، می توانید آن را با PHP انجام دهید. وبلاگ درست کنید؟ بله. یک برنامه تمام عیار مشابه سرویس دهنده ایجاد کنید؟ قطعا. در چند ثانیه یک اسکریپت کوچک برای پردازش داده ها بنویسید؟ PHP برای این کار عالی می باشد. مجموعه ای از اسکریپت های پیچیده ای بنویسید که به طور اتفاقی به یک تجارت نرم افزاری موفق تبدیل شود؟ مانند این از PHP بسیار استفاده شده است.
اگر به این گفته ها اعتماد ندارید، وب سایت PHP موارد زیر را ذکر می کند:
- اسکریپت نویسی سمت سرور
- اسکریپت نویسی خط فرمان
- نوشتن برنامه های دسکتاپ
گزینه آخر را با اطمینان توصیه نمی کنم اما این امکان در PHP وجود دارد. ولی دو مورد اول دلایل بسیار رایج و خوبی برای استفاده از PHP می باشند.
این موارد نشان دهنده یک واقعیت مهم و اجتناب ناپذیر می شود …:
PHP همه جا هست!
برای شناخت و دوست داشتن PHP دلایل زیادی وجود دارد، احتمالاً قوی ترین و معتبرترین آنها این است: هر جایی که وب استفاده شود، PHP نیز استفاده و اجرا می شود. اگر بخواهید با احتیاط خرید کنید، ۳ دلار ناچیز در هر ماه برای هزینه اکانت هاست به شما امکان می دهد تا بخواهید برنامه وب خود را در Python یا Ruby اجرا کنید. اما قطعاً PHP را اجرا خواهید کرد. این بدان معناست هر جا که باشید می توانید روی آن حساب کنید.
نرم افزارهای محبوب بسیاری با PHP نوشته شده اند، چون در همه جا اجرا می شود و شروع کار با آن نیز آسان است. وردپرس بزرگترین و آشناترین نمونه است اما ابزاری مانند جوملا، دروپال، مجنتو،ExpressionEngine ، ویبولتین، مدیاویکی و … نیز PHP را روی سرورهایشان اجرا می کنند.
چارچوب های PHP زیادی نیز وجود دارد: Symfony، Zend، Laravel، Aura، CakePHP، Yii و حتی CodeIgnitor قدیمی. مطمئناً برای هر زبان دیگری هم می توانید لیستی از چارچوب های وب تهیه کنید و حتی در مورد زبانهای رایج وب مانند Python ، Ruby یا Node / JavaScript ممکن است بتوانید لیست قابل رقابتی از نظر تعداد جمع آوری کنید. اما تعداد سایت هایی که PHP را اجرا می کنند، بسیار زیاد است.
وردپرس با افتخار فخرفروشی می کند که بیش از ۳۰ درصد از اینترنت را پشتیبانی می کند. به احتمال زیاد حجم بسیار زیادی از برنامه های اینترنتی در حال استفاده از PHP هستند.
PHP از خصوصیات بسیار خوبی برخوردار است
پویایی آسان در PHP ساخته می شود
PHP بیشتر از هر زبان دیگری رندر و برنامه نویسی HTML را آسان تر می کند. بنابراین تبدیل کد HTML به PHP بسیار ساده است. فقط کافیست فایل file.html خود را به file.php تغییر دهید و در برخی تگ های <? php ?> کمی پویایی اضافه کنید. همچنین برای رسیدگی به بقیه کارهایتان، بیشتر سرورهای وب از قبل پیکربندی شده اند. این زبان آنقدر ساده است که تقریباً هر کسی می تواند آن را شروع کند، بدون اینکه نیاز به درک زیادی از برنامه نویسی داشته باشد. PHP برای کسب تجربه بسیار مناسب است و به همین دلیل کدهای بد زیادی نوشته می شود.
بدترین کدهای PHP توسط برنامه نویسان تازه کار نوشته شده است. ولی بیشترین ترس و نفرتی که از PHP در جهان با آن روبرو می شوید از یک مشکل اساسی دیگر ناشی می شود: PHP هیچگاه یک طرح عالی با یک ایده خیالی درباره اینکه چرا یک زبان کامل برای وب سرورتان بوده، نداشته است.
در حال حاضر شی گرایی با مدیریت بسته (عالی) در PHP یک اصل می باشد
به طور گسترده نسخه ۳. ۵PHP به عنوان اولین نسخه مدرن PHP در نظر گرفته می شود.
در ابتدا شی گرایی به عنوان یک مفهوم ناقص و محدود در PHP پیاده سازی شده بود، کتابخانه استاندارد آن پر از پارامترها و نام های متناقض یود و (نمونه که توجه خیلی زیادی را به خود جلب کرد) علامت های :: توسط مفسران فراخوانی می شوند.
اما امروزه، شی گرایی در PHP کاملاً تحقق یافته است. تعداد زبان های کمی مانند جاوا تمرین های شی گرایی بیشتری از PHP دارند. مهمتر از آن بر خلاف جاوا، PHP یک مدیر بسته کاملاً دوست داشتنی و یکپارچه به نام Composer (کامپوزر) دارد، این خیلی خوب است. همچنین جابجایی آسان بین سایر کتابخانه های PHP که به خوبی نوشته و نگهداری شده اند چیزی نیست که بتوان آن را دست کم گرفت.
PHP خیلی سریعتر شده است
PHP به روش های جالبی در حال توسعه و تحول است. با رشد فوق العاده خود در حال تبدیل شدن به یک زبان کاملاً برجسته مانند جاوا (خوشبختانه یا متاسفانه) می باشد و همچنین بسیار مشابه با جاوا در حال کسب مفاهیم انتزاعی آسان برای برنامه نویسی رویه ای است – مسلما مبحث داغ فعلی می باشد. – همچنین در حال توسعه مجموعه ابزار بسیار شگفت انگیزی است.- به دلایل اثبات شده ای PHP عاشق کامپوزر است – تلاش فوق العاده ای برای ساخت پروژه های بزرگ متن باز در PHP وجود دارد تا بتوانند بهتر با هم کار کنند.
اوه، ما نباید مبحث فعلی را فراموش کنیم: افزایش سرعت PHP در نسخه های ۷PHP به وجود آمد. به طور گسترده، این ویژگی توسط HHVM برخاسته از فیسبوک، آغاز شد. برای مدت کوتاهی، این خطر وجود داشت که سرعت HHVM باعث شکست جامعه PHP شود. اما اینطور نبود، در عوض PHP خیلی سریعتر شد به طوریکه مردم تقریبا فراموش کردند که HHVM وجود دارد.
PHP جامعه بسیار بزرگی دارد که به خوبی به افراد آموزش می دهد.
زمان تصمیم گیری درباره اینکه از کدام فناوری جدید استفاده کنیم، چیزی که کمتر مورد توجه قرار می گیرد این است که چه جوری می خواهید زبان را یاد بگیرد. یادگیری PHP چگونه است؟ آموزش های PHP زیادی در دسترس وجود دارد و اکثرا مناسب هستند.
یکی از جنبه های منفی محبوبیت زیاد PHP این است که می توانید آموزش های نه چندان خوبی را از افرادی بگیرید که به اندازه کافی درباره ابزار رایج در حال استفاده آشنایی ندارند. یا از کسی که “بهترین تمرین هایی” که اخیرا انجام داده برای یک دهه پیش از این بوده است. اما به طور کلی، این موارد آنقدر نادر هستند که نمی تواند شما را دلسرد کنند. اینکه بفهمید آموزشی که چند ماه از آن استفاده کرده اید، عالی نبوده، کمتر اتفاق می افتد اما مشکل بزرگی هم نیست.
شباهت های PHP با سایر زبانها
بسیاری از افراد تازه کار در برنامه نویسی به دنبال ویژگی های کلی زبان هستند. خب، آنها را در اینجا مرور می کنیم. تمام زبان هایی که در قسمت بعدی آورده شده اند در خصوصیات زیر با PHP مشترک هستند:
منبع باز هستند. بدین معنا که می توانید از زبان اصلی به صورت رایگان (بدون هزینه) استفاده کنید و در صورت تمایل می توانید لایه های زیربنایی برنامه اصلی را ببینید و درک کنید.
اغلب برای توسعه وب استفاده می شوند. بسیار واضح است که این زبان ها در توسعه وب بسیار استفاده می شوند. برخی خارج از حوزه وب نیز مورد استفاده قرار می گیرند، اما نه همه آنها.
سطح بالا هستند و نوع متغیر به صورت پویا و آسان تعیین می شود. بدان معناست که یک متغیر در طول یک برنامه می تواند انواع مختلفی داشته باشد و لازم نیست هنگام تعریف متغیر، نوع آن (اعداد، رشته ها یا اشیاء و غیره) را تعریف کنید. معمولاً این ویژگی دوست داشتنی برنامه نویسی وب است اما نه به طور گسترده.
جوامع نسبتا بزرگ و یا بهتری دارند. زبان های جالب زیادی وجود دارند که دارای خصوصیات ذکر شده بالا هستند اما جامعه عملی بزرگی ندارند.
چرا از PHP استفاده می کنیم؟ چرا جاوا اسکریپت نه؟
شاید مهمترین زبان برای مقایسه با PHP زبان JavaScript (جاوا اسکریپت) باشد. توسعه مدرن مستلزم این است که هر پروژه حداقل مقداری از جاوا اسکریپت را برای توسعه و تعامل بیشتر در سمت کاربر استفاده کند. با استفاده از Node، استفاده از جاوا اسکریپت نیز روی سرور نسبتاً آسان شده است. ایده استفاده از زبان مشابه هم در سمت کاربر و هم در سمت سرور بسیار جذاب است.
جاوا اسکریپت مانندPHP ، یک زبان چند منبعی و گاهی زشت با عیب ها و مشکلات زیاد پیشبینی نشده است. اما جاوا اسکریپت در یک دهه اخیر پیشرفت بسیار سریعی داشته و موقعیت فعلی آن واقعی است. چرا به جای جاوا اسکریپت، PHP را انتخاب کنید؟ یا متخصص PHP هستید یا نیاز به استفاده از کتابخانه های PHP دارید. در غیر این صورت، فکر می کنم جاوا اسکریپت انتخاب بهتری باشد.
PHP در مقایسه با ASP (هسته (.Net))
ASP یا صفحات سرور فعال به عنوان یک زبان مایکروسافت متن بسته یا اختصاصی برای برنامه نویسی وب شروع به کار کرد. کاملاً با PHP قابل مقایسه بود اما در محیط های ویندوز سرور اجرا می شود. بعد از آن ASP.net منتشر شد و اکنون نیز ASP.NET Core جایگزین شده است. دو زبان اخیر مانند زبان PHP زبان های متن باز هستند.
اگر از سرورهای مایکروسافت استفاده می کنید و آنها را دوست دارید، احتمالا ASP را نیز دوست خواهید داشت اما در غیر این صورت لطفاً از PHP استفاده کنید. اندازه و مقیاس جامعه توسعه دهنده این دو زبان واقعا قابل مقایسه نیست.
باید از Ruby استفاده کنم یا PHP ؟
Ruby (روبی)، به طور خاص Ruby on Rails، یک دهه پیش بسیار محبوب بود. روبی هنوز هم زبان بسیار دوست داشتنی و حتی بسیارگیراتر از PHP است. جامعه آن کوچکتر است و احساس می شود که روبی دیگر به عنوان یک “زبان داغ” شناخته شده نیست (نقش جاوا اسکریپت برجسته تر شده است). روبی زیبا است و افراد بسیار خوبی با آن کار می کنند و به همین دلیل اجتناب از آن را توصیه نمی کنم. اما استخدام افراد آشنا با آن سخت تر از PHP خواهد بود. (گرچه مهارت یک توسعه دهنده متوسط روبی احتمالاً بالاتر از نمونه مشابه در PHP است.)
PHP در مقایسه با Python: کدام بهتر است؟
آخرین زبانی که در مقایسه یک به یک با PHP معنا پیدا می کند، Python (پایتون) است. پایتون در بیشتر زمینه های توسعه وب استفاده می شود (در تجزیه و تحلیل های آماری و داده ها نیز بسیار محبوب است). همچنین براساس عقیده ی اکثریت قریب به اتفاق یکی از زبان های بسیار پایدار و با طراحی خوب در دسترس است.
پایتون (مانند روبی و جاوا اسکریپت) کمی سخت تر نسبت به PHP روی سرور وب اجرای می شود. اما نسبت به PHP زبان زیباتر و متنوع تری است. یکی از زبان هایی است که نمیتوان در مورد تعداد طرفداران آن در مقایسه با PHP درست نظر داد ولی در همه موارد دیگر (دسترسی به کتابخانه خارجی، دسترسی به استخدام افراد متخصص و غیره) برابر است.
PHP در مقایسه با Go؟ Scala؟ Java؟ …
اما اگر محدودیت شباهت های مشترک زبان ها را کنار بگذاریم، زبان های دیگری نیز وجود دارد که می توانیم آنها را هم مقایسه کنیم. بنابراین به طور خلاصه چند مورد را به صورت کوتاه مرور خواهیم کرد:
جاوا بسیار محبوب و بسیار سریع است. برای ساخت برنامه های اندروید، برنامه های دسکتاپ و برنامه های وب استفاده می شود. هرچند عملا جایی توشته نشده که از نظر عملکردی بهتری است اما از نظر سهولت در برنامه نویسی وب بدتر است.
Go یک زبان جدید و در حال رشد با پشتیبانی گوگل است. روی سرورهای وب تمرکز دارد اما کمی در سطح پایین تر (بیشتر شبیه C). نسبت به PHP سریع تر است اما جامعه آن کوچکتر دارد.
Scala یک زبان محبوب JVM در حال اجرا (سازگار با جاوا) است که به نظر می رسد محبوبیتش در حال افزایش است. نسبت به PHP ظریف تر طراحی شده است اما در مورد چیزهای دیگر نمی توان با اطمینان صحبت کرد.
انتخاب زبان برنامه نویسی به محتوا بستگی دارد
با توجه به مقایسه های انجام شده، چرا از PHP استفاده می کنیم؟ بعضی از ویژگی های بد PHP گفته شد و با بعضی از آنها به طور مداوم مواجه می شویم.
برای یک پروژه بکر واقعی و کامل، بدون نیاز به تعامل با هر سیستم دیگر یا نیاز به اجرا در هر محیط قرادادی و بدون وجود تیم متخصص، برای استفاده از PHP باید به طور کامل و عمیق فکر کنید. پایتون در این سناریو واقعاً جذاب به نظر می رسد. اما تبصره های زیادی وجود دارد. برای اینکه حتی بتوان یک پروژه بکر تازه را به زبان PHP نوشت، دلایل زیادی وجود دارد.
هر زبان مدرن وب می تواند در ساختن وب سایت ها و برنامه های خوب به شما کمک کند. هر یک از آنها ویژگی هایی دارند که ایده آل نیستند. PHP مانند هر یک از این زبان ها شما را ملزم می کند تا به درستی رفتارهایش را در پروژه تان درک کنید و تعیین کنید آیا این برای شما منطقی است یا خیر. اما به شخصه همچنان فکر می کنم که – همانطور که کیت آدامز آن را به صورت فوق العاده ای گفته است – “به طرز تکان دهنده ای موفقیت در PHP” امکان پذیر است.
حتما بخوانید: برای شروع یادگیری پی اچ پی از صفر کلیک کنید! (رایگان)
اگر تیمی از برنامه نویسان پایتون در اختیار دارید، درخواست خود را با پایتون بنویسید. اگر تشکلی دارید که با جاوا آشنایی دارد، خدمات نرم افزاری خود را با جاوا بنویسید. همیشه باید ارزیابی های اجزای نرم افزار مهمتر باشد.