پی اچ پی در ابتدا مخفف”Personal Homepage” به معنای “صفحه خانگی شخصی” بود، اما الان مخفف بازگشتی”Hypertext Preprocessor” به معنی “پیش پردازنده ابر متن” در نظر گرفته می شود ( از این لحاظ مخفف بازگشتی محسوب می شود چون کلمه اول به خودی خود مخفف است و بنابراین معنای کامل عبارت با معنای مخفف یکی نیست).
زبان PHP یک زبان برنامهنویسی است و کاربرد آن تولید نرمافزارهای تحت وب و وبسایتهاست. PHP یک زبان پردازشی و سمت سرور است. یعنی ظاهر وبسایتها توسط زبانهای HTML، CSS و… طراحی میشوند و بخش پردازشی آن توسط PHP اجرا میشود.
برای درک بیشتر موضوع به سراغ یک مثال میروم. فرضاً شما در یک فروشگاه آنلاین از یک محصول مشخص 4 عدد خریداری کردهاید. در سبد خرید شما باید مشخصات این محصول و قیمت نهایی آن درج شود. به کمک کدهای PHP میتوان قیمت محصول خریداری شده را از جدول پایگاهداده دریافت کرد. قیمت را ضربدر عدد 4 کرد و حاصل این محاسبه به همراه نام محصول، تصویر آن و.. را توسط HTML در سبد خرید نمایش داد.
تاریخچه این زبان برنامه نویسی به سال ۱۹۹۴ برمیگردد. در آن سال شخصی به نام Rasmus Lerdorf تعدادی اسکریپت به زبان C برنامه نویسی کرد. به مرور زمان و تشکیل یک تیم برنامه نویسی، اسکریپتها توسعه پیدا کردند و سرانجام زبان php در سال ۱۹۹۵ منتشر شد. این زبان برنامه نویسی در سال ۱۹۹۷ به نسخه ۳ ارتقا پیدا کرد. Php مخفف عبارت Hypertext Preprocessor به معنای پیش پردازندههای ابرمتن میباشد. منظور از ابرمتن همان متنهای طولانی شامل جداول، تصاویر و… هستند. دلیل نامگذاری Php این است که این زبان ابتدا باید اطلاعات را پردازش کند تا نتایج به صورت html به نمایش درآیند.
در سال ۲۰۰۴ نسخه ۵ این زبان با خاصیت شی گرایی طراحی شد که سبب تغییر و تحولات عظیم در این زبان گردید. در ادامه این تغییرات عظیم، در سال ۲۰۱۵ نسخه ۷ php قویتر از قبل و با سرعت بالای پردازش ایجاد شد. امروزه میلیونها توسعه دهنده با استفاده از نسخه ۷,۴ و… این زبان، به انجام پروژههای خود میپردازند.
یک زبان برنامه نویسی است که میتوانیم با استفاده از آن اقدام به ساخت صفحات وب داینامیک (Dynamic) کنیم.
با استفاده از PHP میتوانیم سایت و اپلیکیشن های تحت وب قدرتمندی را برنامه نویسی کنیم. اگر بخواهیم ریزتر به سوال PHP چیست؟ پاسخ دهیم، باید بگوییم که PHP کارهای پشت صحنه را در صفحات وب انجام میدهد.
به این معنا که شما با استفاده از PHP نمیتوانید ظاهر سایت را تغییر دهید. PHP یک زبان برنامه نویسی است که تاثیر مستقیمی روی ظاهر سایت ندارد. با استفاده از PHP شما میتوانید اطلاعات مختلف را از پایگاه داده بگیرید و به کاربر نشان دهید.
PHP به هیچ پلتفرمی وابسته و متکی نیست و لازم نیست برای استفاده از آن سیستم عامل خاصی داشته باشید، چون این زبان روی هر پلتفرمی از ویندوز گرفته تا لینوکس و مک اجرا می شود.
PHP یک زبان برنامه نویسی متن باز یا منبع باز است و کد اصلی آن در دسترس همه کسانی که می خواهند با این زبان کار کنند در اختیار قرار می گیرد. این مزیت یکی از دلایل محبوبیت فریمورکهای PHP مثل لاراول (Laravel) است.
اسکریپتهایی که با استفاده از زبان پی اچ پی نوشته میشوند، معمولا سریعتر از سایر زبانهای دیگر مانند NET یا JSP قابل اجرا هستند.
یادگیری PHP برای مبتدیان خیلی سخت نیست. اگر از قبل دانش برنامه نویسی داشته باشید، راحت می توانید این زبان را یاد بگیرید.
شما به راحتی این امکان را دارید که PHP را به همه پایگاه های داده، اعم از رابطه ای (relational) و غیر رابطه ای (non-relational) وصل کنید. پی اچ پی در کمترین زمان ممکن به MySQL، Postgress، MongoDB و هر پایگاه داده دیگری متصل می شود.
پی اچ پی گروهها و انجمنها پشتیبانی زیادی در اینترنت دارد. با گشت و گذار در سایتهای مختلف می توانید به راحتی راهنماها و دستورالعملهای استفاده از این زبان را پیدا کنید یا مشکلات و سوالات خودتان را با دیگران در میان بگذارید.
PHP از زمانی که خلق شد، دچار تغییرات زیادی شده است که با نسخه اولیه آن تفاوت زیادی دارد و ما در این جا نسخه های مختلف PHP را بررسی می کنیم که دانستن آن خالی از لطف نیست.
لردورف در سال 1997 بود که شروع کردن به ارتقا دادن زبان PHP و نسخه دوم آن را خلق کرد. نسخه دوم موفق شد توجه بسیاری از توسعه دهندگان را به خودش جلب کند. موتور پردازشی PHP بازنویسی شد و در سال 1998 این بازنویسی به پایان رسید و در نهایت نسخه سوم PHP عرضه شد و در اختیار دیگر کاربران قرار گرفت.
پس از عرضه نسخه سوم، قرار شد که به PHP مفهوم جدیدی بدهند و برای همین دو حرف میانی PHP که HP بود را مخفف عبارت Hypertext Preprocessor در نظر گرفتند که به معنای این است که PHP پیش از آن که اطلاعات و داده ها را به صورت HTML به کاربران نشان دهد، آن ها را پردازش می کند و بعد در قالب HTML نشان می دهد. منظور از Hypertext که ترجمه آن ابر متن یا متن های بزرگ و طولانی است که ممکن است در آن تصویر، جدول و … به کار رفته باشد؛ به عبارت دیگر همان فایل HTML است که کاربر آن را به صورت صفحات وب می بیند.
PHP چنان محبوب و همه گیر شده بود که روز به روز تعداد توسعه دهندگان بخش های مختلف آن بیشتر می شد و کم کم PHP به یک پروژه اپن سورس یا همان متن باز تبدیل شد.
اما نسخه بعدی PHP چگونه توسط توسعه دهندگان شکل گرفت؟ در سال 2000 فردی به نام Zeev Suraski و همکارش که Andi Gutmans نام داشت، شرکتی به نام Zend تاسیس کردند و به همراه یک تیم توسعه دهنده حرفه ای، شروع کردند به ایجاد تغییرات اساسی در زبان برنامه نویسی PHP .
بازنویسی هایی که صورت گرفت، تغییرات زیادی را بر جای گذاشت که هسته آن zend engine نام گرفت و نسخه 4 زبان PHP ارائه شد.
4 سال بعد از منتشر شدن نسخه PHP 4، نسخه جدیدی از PHP ارائه شد که تغییرات اساسی مانند پشتیبانی کدنویسی شی گرا و بهبود ارتباط با پایگاه داده در آن اعمال شد که می توان آن را یک نقطه عطف در دنیای برنامه نویسی دانست. در نسخه PHP 5 قابلیت ها و امکاناتی که اضافه شدند که فرایند کدنویسی برای برنامه نویسان لذت بخش تر شد.
PHP مدام در حال پوست اندازی بود و نسخه های مختلفی از آن عرضه می شدند؛ نسخه PHP 6 با این هدف به وجود آمد که بتواند از Unicode پشتیبانی کند و نیز قادر باشد که از کاراکتر های تمام زبان های دنیا پشتیبانی کند، اما این قابلیت شکست خورد و توسعه این نسخه متوقف شد.
پوسته اندازی های متعدد PHP کم کم آن را شبیه به یک زبان برنامه نویسی بالغ می کرد. نسخه هفت PHP که در سال 2015 عرضه شد، تغییراتی داشت که آن را بسیار متمایز می کرد. از جمله تغییراتی که در نسخه هفتم PHP شاهد بودیم، بهتر شدن عملکرد، کاهش میزان استفاده از حافظه تا حدود 50 درصد و افزایش سرعت آن بود.
در آذر ماه سال 1399 بود که نسخه جدیدی از زبان برنامه نویسی PHP عرضه شد که در آن قابلیتی به نام jit قرار داده شده بود. این قابلیت به این معنی است که برنامه هایی که نوشته شده اند، در عین پردازش اجرا می شوند و این موضوع سبب می شود که سرعت این زبان برنامه نویسی بیشتر شود و استفاده از ریسورس ها و منابع کاهش پیدا کند؛ البته این ها تنها تعدادی از ویژگی هایی این نسخه است که اشاره کردیم.
زمانی که صحبت از فریمورکهای PHP میشود، یکی از نامهایی که به ذهن هر توسعهدهندهای خطور میکند، لاراول است. این چارچوب به دلیل ساختار زیبایی که دارد، به شهرت رسیده که درک آن آسان و کار با آن بسیار لذتبخش است. با استفاده از Laravel میتوان با سرعت بیشتری پروژهها را انجام داد و تمرکز بیشتری بر روی آنها داشت. دسترسی به توابعی مانند: احراز هویت کاربر، مدیریت جلسهها و قابلیت کش، ازجمله مزایای استفاده از این فریمورک میباشند. به طور کلی، اگر در یک جمله بخواهیم در مورد کیفیت عملکرد این چارچوب صحبت کنیم، باید بگوییم که تمام عملکردهایی را که برای ساخت یک برنامه مدرن نیاز دارید، بستهبندی میکند.
یکی دیگر از چارچوبهای PHP با نام Codelgniter شناخته میشود که از معماری mvc استفاده میکند. به بیانی دیگر، این فریمورک از مولفههای گوناگونی برای مدیریت امور خاص توسعه بهره میبرد. این شیوه، در بین توسعهدهندگان بسیار مورد پسند است؛ چراکه شما را قادر میسازد تا برنامههای وب مقیاسپذیرتری بسازید. اگر در زمینه کار با چارچوبهای این زبان تازهوارد هستید، انتخاب این مورد میتواند گزینه خوبی برای شما باشد. چراکه یادگیری و شروع کار با آن بسیار ساده است. همچنین این پلتفرم، اسناد فوقالعادهای دارد و به همین دلیل در یادگیری اصول اولیه مشکل چندانی نخواهید داشت.
اگر مسابقهای برای انتخاب برترین چارچوب PHP وجود داشته باشد، بدون شک Symfony از نظر محبوبیت با دو موردی که در قسمتهای قبلی معرفی کردیم، در یک سطح است. زمانی که شروع به بررسی این فریمورک میکنید، خیلی راحت میتوانید به این قضیه پی ببرید. Symfony بسیار انعطافپذیر بوده و یک بسته نرمافزاری در اختیار شما میگذارد. منظور از بسته در اینجا این است که میتوانید عملکردهای PHP موردنیازتان را از آن انتخاب کنید یا خیلی راحت از کل چارچوب استفاده نمایید.
توسعهدهندگان معمولا از پروژههای Laminas که تا پیش از این تحت عنوان Zend بودند، به عنوان یک فریمورک glue یاد میکنند. این موضوع، راهی برای معرفی کردن ماهیت مبتنی بر glue نیز میباشد. Laminas یک چارچوب ساخته شده براساس MVC شیءگرا بوده که این امکان را برایتان فراهم میکند تا اجزای موردنظر خود را به عنوان کتابخانههای جداگانه بارگیری نمایید. به عبارتی دیگر، این فرصت را در اختیارتان قرار میدهد تا فقط بر روی اجزا و عملکردهای موردنظر خود تمرکز کرده و موارد دیگر را نادیده بگیرید. با استفاده از این رویکرد و ماهیت شیءگرایی آن، میتوانید کدی که مینویسید را بارها مورداستفاده قرار دهید. همچنین ادغام پلتفرم با کتابخانههای خارجی برای توسعه عملکرد نیز بسیار آسان است.
Phalcon یکی دیگر از فریمورکهای PHP است که به دلیل نوشته شدن کد منبع آن با زبان C کمی عجیب به نظر میرسد. به عبارتی دیگر، این چارچوب یک اکستنشن C از PHP است که در عمل، یکی از سریعترین فریمورکهایی است که میتوانید از کار کردن با آن لذت ببرید. همچنین از نظر منابع، بسیار کممصرف بوده و از معماری MVC استفاده میکند. پس از نصب این چارچوب، تقریبا هیچ فایلی دریافت نمیکنید و به جای آن، فقط ماژولها و کتابخانههای موردنیازتان را در صورت نیاز میتوانید اضافه کنید.
این فریمورک یکی از موارد نسبتا جدیدی است که برای نخستین بار در سال ۲۰۱۴ راهاندازی شد. سازندگان آن بر این باورند که بهترین روشها را از سایر چارچوبهای قدرتمند جمعآوری کرده و چیزهای جدید و هیجانانگیزی در آن قرار دادهاند.
در اوایل دهه ۲۰۰۰ بود که CakePHP به عنوان اولین چارچوب MVC PHP وارد بازار شد. در آن دوره، این فریمورک یک گزینه بسیار عالی بود و هنوز هم یکی از محبوبترین چارچوبهای زبان PHP محسوب میشود. نسخههای جدید آن با گذر زمان بهبود پیدا کرده و اجزای جدید زیادی به آن اضافه شدند. با این وجود، CakePHP زمانی به درخشش واقعی خود میرسد که با نحوه استفاده از ساختار کدگذاری آن آشنا باشید. این بدان معنا است که با این پلتفرم، پس از تسلط بر مجموعه قراردادهای آن، میتوانید بر توسعه تمرکز کرده و کارهای بیشتری انجام دهید.
یکی دیگر از فریمورکهای قدرتمند و برتر PHP، Yii است. یکی از ویژگیهای بارز آن، سهولت در تنظیم است و به همین دلیل توسعهدهندگان زیادی طرفدار آن هستند. همچنین دررابطه با عملکرد، این چارچوب در مقابل Phalcon قرار میگیرد و یک امتیاز بزرگی برای آن میباشد. مانند سایر چارچوبهایی که تا به حال دیدهاید، Yii هم مجموعه کاملی از اجزای سازنده را ارائه میکند تا بتوانید از آنها برای افزایش سرعت توسعه برنامههای وب استفاده کنید. علاوه بر این، به دلیل وجود مجموعه قدرتمندی از ویژگیهای امنیتی، Yii مشخصات برجستهای دارد که میتوان از آنها برای ساخت پروژههای بسیار ایمن استفاده کرد.
با استفاده از فریمورک Slim میتوان سرعت برنامههای وب و API را افزایش داد. علاوه بر مواردی که تا این قسمت از مطلب معرفی کردیم، سایر فریمورکهای PHP گزینههای زیر نیز هستند:
قبل از یادگیری PHP خیلی خوب است که کمی با دنیای وب آشنایی داشته باشید. برای مثال اگر قبل از PHP کمی به طراحی وب با HTML و CSS مسلط باشید، کار شما در یادگیری و کار با PHP نیز بسیار ساده و راحت میشود.
حرف آخر :
PHP هنوز هم یکی از زبانهای مرتبط و پرکاربرد در توسعه وب است.
طراحی وبسایت با استفاده از زبانهای سمت کاربر و سمت سرور صورت میپذیرد. یکی از معروفترین زبانهایی که برای کدنویسی سمت سرور استفاده میشود، زبان php است.
با اینکه بحثهای زیادی درباره ارزشمند بودن این زبان وجود دارد، اما توسعه دهندگان PHP از کار کردن با آن درآمد خوبی کسب می کنند. بنابراین، به نظر نمی رسد PHP به این زودی ها از صحنه خارج شود