برنامه نویسی -
29 شهریور 1401
وسعه ی PHP از سال ۱۹۹۴ و زمانی آغاز شد که راسموس لردورف تعدادی اسکریپت به زبان سی نوشت تا صفحهی خانگی خود را مدیریت کند. این اسکریپتها که به صورت رابط دروازهی مشترک (به انگلیسی: Common Gateway Inteface) نوشته شدهبودند، مسئول انجام عملیاتهای سادهای مانند نشان دادن رزومهی راسموس و بررسی آمارهای بازدید از وبگاه او بودند. با گسترش اسکریپتها و افزودن توانایی تعامل با فرمهای وب و ارتباط با پایگاههای داده، نام صفحهٔ خانگی شخصی/مفسر فرم (به انگلیسی: Personal Home Page/Form Interpreter) یا PHP/FI برای آنها انتخاب شد. PHP/FI میتوانست برای ایجاد نرمافزارهای سادهٔ وب استفاده شود. در ابتدا، لردورف برای یافتن خطاهای این اسکریپتها و بهبود آنها، در ۸ جون سال ۱۹۹۵ میلادی اسکریپتها را با نام ابزارهای صفحهٔ خانگی شخصی نسخهٔ ۱٫۰ (به انگلیسی: Personal Home Page Tools version 1.0) تحت مجوز عمومی گنو روی گروه خبری یوزنت منتشر کرد. این نسخهٔ اولیه بسیاری از ویژگیهای نسخهٔ کنونی این زبان را داشت. متغیرها به سبک زبان پرل بودند، مدیریت فرمها وجود داشت و میشد کدها را در درون کدهای اچتیامال قرار داد. قواعد پیاچپی نیز از زبان پرل پیروی میکردند، اما سادهتر، محدودتر و ناپایدارتر بودند..با شکلگیری یک گروه برنامهنویسی و بعد از انجام تستهای فراوان روی نسخهٔ بتا و بازنویسی موتور تجزیهکننده، سرانجام PHP/FI نسخهٔ ۲٫۰ در نوامبر سال ۱۹۹۷ میلادی منتشر گردید.
اندی گاتسمن و زیو سوراسکی با بازنویسی موتور تجزیهکننده در سال ۱۹۹۷ میلادی پایه و اساس نسخهٔ ۳ پیاچپی را بنیان نهادند. این دو نفر با همراهی لردورف با تغییر نام پیاچپی به پیاچپی: پیشپردازندهٔ ابرمتن (به انگلیسی: PHP: Hypertext Preprocessor) که یک مخفف بازگشتی است، در ماه جون ۱۹۹۸ میلادی رسماً پیاچپی نسخهٔ ۳٫۰ را منتشر کردند. بعد از این اتفاق گاتسمن و سوراسکی شروع به نوشتن هستهٔ جدیدی برای زبان پیاچپی کردند که منجر به بهوجودآمدن موتور زِند در سال ۱۹۹۹ میلادی شد. آنها همچنین شرکت زِند تکنولوژی را در کشور اسرائیل تأسیس کردند.
در تاریخ ۲۲ مه سال ۲۰۰۰ میلادی، پیاچپی نسخهی ۴ که از موتور زند نسخهی ۱٫۰ استفاده میکرد، منتشر شد. این نسخه تا ماه اوت سال ۲۰۰۸ میلادی توسعه یافت و به زیرنسخهٔ ۴٫۴٫۹ رسید. هماکنون پشتیبانی این نسخه به پایان رسیدهاست و هیچ بهروزرسانی برای آن منتشر نمیشود.
در ۱۳ ژوئیه سال ۲۰۰۴ میلادی، نسخهی ۵ پیاچپی که از موتور زند نسخهٔ ۲ بهره میبرد، منتشر شد. نسخهٔ ۵ ویژگیهای زیادی را به پیاچپی اضافه کرد. پشتیبانی کامل از شیء گرایی، افزونهٔ PDO (به انگلیسی: PHP Data Object Extension) (که دسترسی به بانکهای اطلاعاتی را ممکن میساخت) و بهبود بازدهی از جملهٔ این ویژگیها محسوب میشد. از سال ۲۰۰۸ به بعد، با پایان یافتن پشتیبانی از تمامی نسخههای قدیمیتر پیاچپی، نسخهی ۵ تنها نسخهٔ در حال گسترش است.
در کنار نسخهی ۵ پیاچپی یک نسخهی اصلی دیگر در حال توسعه است. با توجه به تغییرات عمدهی موجود در این نسخه از جمله پشتیبانی کامل از یونیکد، قرار بود این نسخه به عنوان نسخهی ۶ پیاچپی منتشر گردد. اما پیادهسازی پشتیبانی از یونیکد بیش از آنچه انتظار میرفت، به طول انجامید. این امر باعث شد تا در مارس سال ۲۰۱۰ میلادی، این نسخه به بخش در حال توسعه (به انگلیسی: Trunk) منتقل شد و دیگر به آن نسخهٔ ۶ گفته نمیشود.
تعداد بسیار زیادی از پروژههای بزرگ و متنباز که از زبان پیاچپی استفاده میکنند، از سال ۲۰۰۸ با به وجود آمدن جنبش ابتکاری GoPHP5 به معنای برو به پیاچپی ۵ دیگر از پیاچپی نسخهی ۴ استفاده نمیکنند. این جنبش توسط بسیاری از توسعهدهندگان پیاچپی پشتیبانی شد تا بتوانند به گسترش استفاده از نسخهٔ ۵ پیاچپی کمک کنند.
مفسرهای زبان پیاچپی برای هر دو معماری ۳۲بیتی و ۶۴بیتی موجود است. تنها استثنا سیستمعامل ویندوز است که فقط نسخههای ۳۲بیتی برای آن منتشر میشود. اما مدتی است که نسخههای ۶۴بیتی ویندوزی نیز به صورت امتحانی روی وبگاه پیاچپی منتشر میشوند و استفاده از نسخههای امتحانی ۶۴بیتی ویندوز برای سرورهای بزرگ توصیه نمیشود.
php یک زبان برنامه نویسی سمت سرور و پردازشی است که کاربردهای گستردهای در زمینه تولید نرم افزارهای تحت وب و طراحی وبسایتها دارد. به بیانی دیگر ظاهر وبسایت توسط زبانهای html، CSS و… طراحی شده و بخش پردازشی آن به وسیله زبانهایی مانند php اجرا میگردد. برای اینکه به طور کامل درک کنید php چیست ، به این مثال توجه کنید. فرض کنید در یک فروشگاه آنلاین از یک محصول ۳ عدد خریداری کردهاید. در سبد خرید مجازی شما مشخصات این محصول و قیمت نهایی آن باید درج شود. به کمک کدهایی که با استفاده از زبان php نوشته میشود، میتوان قیمت محصول خریداری شده را از جدول پایگاه داده دریافت کرد. این کدها قیمت را ضربدر ۳ میکنند و حاصل ضرب را به همراه مشخصات محصول، تصویر آن و… توسط html در سبد خرید نشان میدهند.
مزایای PHP
در ادامهی پاسخ به سوال PHP چیست؟ میخواهیم دربارهی مزایای PHP صحبت کنیم و بگوییم که پی اچ پی به عنوان یک زبان برنامه نویسی سمت سرور، چه امکانات و مزایایی را به ما میدهد:
میتواند در پلتفرم های مختلفی مثل ویندوز، لینوکس، مکینتاش و… اجرا شود و این عالی است!
با تمام سرورهایی که امروزه استفاده میشود (مثل Apache و IIS) سازگاری کامل دارد.
میتواند انواع مختلفی از پایگاههای داده و دیتابیس ها ساپورت کند و با آنها کار کند.
کاملا رایگان و Open Source است و میتوانید از سایت رسمی آن به آدرس php.net آنرا دانلود کنید.
کار با PHP ساده است و برای برنامه نویسی با آن تنظیمات ابتدایی خاصی لازم نیست. فقط کافی است که یک سرور یا شبیهساز سرور داشته باشید تا بتوانید با آن کدهای PHP خودتان را اجرا کنید و از دیدن نتیجهی آن لذت ببرید.
چه کارهایی PHP میتواند انجام دهد
حالا که داریم به سوال PHP چیست؟ پاسخ میدهیم، خوب است که کمی هم دربارهی کارهایی که PHP میتواند انجام دهد صحبت کنیم. شما با استفاده از PHP میتوانید انواع مختلفی از صفحات وب و وب اپلیکیشن ها را برنامه نویسی و اجرا کنید.
میتواند برای شما صفحات داینامیک تولید کند.
میتواند اطلاعات را به دیتابیس بفرستد، از دیتابیس اطلاعات را بخواند و همینطور اطلاعات موجود در دیتابیس را ویرایش یا حذف کند.
میتواند با فرم های HTML شما ارتباط برقرار کند و اطلاعات ورودی کاربران در فرم ها را پردازش کند و کارهای مدنظر شما را روی آنها انجام دهد.
به شما امکان کار با Cookie ها و Session ها را میدهد.
امکان رمزگذاری کردن اطلاعات حساس را دارد و این امکان نیز در آن تعبیه شده است.
با اسفتاده از PHP شما میتوانید فایل های txt, pdf, jpg و… تولید و ویرایش کنید و این یک امکان فوق العاده است که PHP در اختیار شما قرار میدهد.
مواردی که در بالا ذکر کردیم، امکاناتی است که بصورت پیشفرض در PHP آمده است. شما میتوانید با استفاده از کتابخانههای مختلف PHP، امکانات مختلف و دیوانهکنندهای داشته باشید که اصلا باورتان نشود که میشود همچین کارهایی را در سطح وب نیز انجام داد!
برخی از سایتهایی که با PHP ساخته شدهاند
اگر بخواهیم دربارهی سوال PHP چیست؟ بیشتر صحبت کنیم، خوب است که برخی از سایتهایی که از PHP قدرت گرفتهاند را معرفی کنیم. در زیر لیست برخی از سایت های ایرانی و جهانی را میبینیم که از PHP استفاده میکنند.
دیجی کالا (در گذشته Digikala با استفاده از ASP.NET نوشته شده بود، اما به تازگی آنها سیستمشان را به PHP تغییر دادهاند)
آپارات
فیسبوک
ویکی پدیا
یاهو
تامبلر
سیستم مدیریت محتوای وردپرس
برخی از سایتهایی که با PHP ساخته شدهاند
اگر بخواهیم دربارهی سوال PHP چیست؟ بیشتر صحبت کنیم، خوب است که برخی از سایتهایی که از PHP قدرت گرفتهاند را معرفی کنیم. در زیر لیست برخی از سایت های ایرانی و جهانی را میبینیم که از PHP استفاده میکنند.
دیجی کالا (در گذشته Digikala با استفاده از ASP.NET نوشته شده بود، اما به تازگی آنها سیستمشان را به PHP تغییر دادهاند)
آپارات
فیسبوک
ویکی پدیا
یاهو
تامبلر
سیستم مدیریت محتوای وردپرس
امنیت
۲۹٪ از مشکلات امنیتی که در ماه سپتامبر سال ۲۰۱۳ میلادی توسط پایگاه داده امنیتی ملی (National Vulnerability Database) منتشر شد، با زبان پیاچپی مرتبط است. این مسائل اکثراً به دلیل نبود استفاده از روشهای مناسب توسط برنامهنویسان ایجاد میشود. و این در حالیاست که مشکلات تکنیکی که در خود زبان پیاچپی وجود دارند، بسیار کم هستند. (۲۳ مشکل در سال ۲۰۰۸، کمتر از ۱٪ مشکلات) با توجه به اینکه برنامهنویسها اشتباهات بسیاری میکنند، بارها پیشنهاد شدهاست که قابلیتهایی برای تشخیص خطاهای امنیتی در زبان پیاچپی گنجانده شود تا این خطاها را به برنامهنویس گزارش بدهد. با اینکه چنین ابزاری برای زبان پیاچپی در حال توسعه است،اما این پیشنهادها تاکنون رد شده و این ابزارها به زبان افزوده نشدهاند.