جمعه, ۲۱ دی, ۱۴۰۳ / 10 January, 2025
PHP جعبه ابزاری که به یک زبان برنامه نویسی تبدیل شد
یکی از شناختهشدهترین زبانهای اسکریپتنویسی، PHP است. این زبان که در ابتدا بهمنظور طراحی و ساخت صفحات پویای وب طراحی شد، در حالحاضر یک زبان اسکریپتنویسی همهمنظوره است که قابلیتهای متعددی دارد و در برنامههای کاربردی گوناگونی استفاده میشود.
● تاریخچه
عبارت PHP سرنام عبارت "صفحه خانگی شخصی۱" است. پیدایش PHP به سال ۱۹۹۵ بازمیگردد، زمانی که یک توسعهدهنده نرمافزار مستقل به نام راسموس لردورف۲ یک اسکریپت Perl/CGI نوشت که او را از تعداد بازدیدکنندگان وب سایت شخصیاش مطلع میساخت. اسکریپت او انجام دو وظیفه را برعهده داشت: گزارشگیری از اطلاعات بازدیدکننده از سایت و شمارش تعداد کاربران. در آن زمان وب، به فرمی که اکنون ما آن را میشناسیم، هنوز بسیار جوان بود و ابزارهایی از این نوع هنوز پا بهعرصه وجود نگذاشته بودند. بنابراین اکثر کاربرانی که از سایت لردورف بازدید میکردند، با ارسال نامههای الکترونیکی از وی درخواست میکردند که اسکریپتهای خود را برای آنها بفرستد. به این ترتیب لردروف شروع به ارسال این اسکریپتها تحت عنوان صفحه خانگی شخصی یا PHP کرد.
استقبال بینظیر از این مجموعه ابزارهای ابتدایی لردروف را بر آن داشت که اجزای بیشتری را به PHP اضافه کند. یکی از این اجزای جدید دادههای وروردی بهفرم HTML را به متغیرهای سمبلیکی تبدیل میکرد که به کاربران اجازه میداد فایل را به سیستمهای دیگر منتقل کنند. برای انجام این کار، لردروف کدنویسی را با زبان C به جای پرل ادامه داد. در نوامبر سال ۱۹۹۷ با انتشار PHP ۲.۰ این زبان یک فرم رسمی پیدا کرد.
● امکانات و ویژگیها
از مهمترین قابلیتهای PHP میتوان به امکانات آن برای توسعه صفحات وب اشاره کرد. کد PHP معمولا در کد HTML تعبیه میشود وسپس روی وبسرور اجرا میشود. وبسرور کد PHP را بهعنوان ورودی دریافت و صفحات وب را به عنوان خروجی تولید میکند. یکی از مزیتهای بزرگ PHP این است که آن را میتوان روی اغلب وبسرورها و تقریبا همه سیستم عاملها و پلتفرمها بدون صرف هزینه اجرا کرد. ضمن اینکه اغلب سیستمهای مدیریت پایگاه دادهها از آن پشتیبانی میکنند. از کد PHP همچنین میتوان برای نوشتن اسکریپتهای خط دستور و برنامههای واسط گرافیکی کاربر استفاده کرد. کد PHP باز است و کاربران PHP میتوانند آن را برحسب نیاز خود، تغییر یا گسترش دهند.
عملکرد کد PHP در اصل مانند یک فیلتر است. یک برنامه PHP ورودی خود را از یک فایل متنی و دستورات PHP را از یک فایل متنی دیگر دریافت میکند. خروجی این سیستم یک فایل متنی دیگر است که معمولا در قالب HTML ارایه میشود. با توجه به اینکه که کد PHP روی سرور اجرا میشود، یک اسکریپت سمتسرور۳ است و مانند دیگر زبانهای اسکریپتنویسی سمتسرور عمل میکند.
مهمترین زبانهای مشابه PHP عبارتند از: سیستم ASP.NET شرکت مایکروسافت، JavaServer Pages سانمیکروسیستم و پرل. علاوه بر این، PHP مشوق توسعه چند قالب کاری است که بلوکهای ساختاری و طراحی مناسبی را برای پیشرفت توسعه سریع برنامههای کاربردی (RAD۴) ایجاد کردهاند. برخی از این قالبهای کاری عبارتند از: CakePHP،PRADO و Symfony.
زبان PHP دارای ویژگیهایی است که آن را به انتخاب بسیار مناسبی برای RAD و توسعه برنامههای تحت وب تبدیل میکند. مدیریت بهبود یافته منابع، از جمله این موارد است. این قابلیت، امکان توسعه پروژههایی در مقیاس بسیار بزرگ را فراهم میکند. زبان PHP از برنامهنویسی شییگرا۵ نیز پشتیبانی میکند. هر چند که این زبان در ابتدا بهمنظور ایجاد چنین برنامههایی ایجاد نشده بود. نیازهایی که کاربران در طول زمان و در طی توسعه پروژههای بزرگ با آنها مواجه شدند، تیم برنامهنویسی PHP را برآن داشت که ایجاد این قابلیتها را بهطور جدی مدنظر قرار دهند. پس از افزودن این امکان، گروه بزرگی از برنامهنویسانی که به استفاده از زبانهای شییگرا عادت داشتند، جذب PHP شدند.
از دیگر قابلیتهای PHP میتوان به امکان رمزگذاری اشاره کرد. کتابخانه MCrypt کاربران را قادر میسازد که از گروه بزرگی از الگوریتمهای رمزگذاری مانند Blowfish، MD۵، SHA۱ و TripleDES استفاده کنند. کتابخانه MCrypt را میتوان از وبسایت آن دریافت کرد:
http://mcrypt.sourceforge.net
نسخههای جدید PHP همچنین از زبان جاوا و امکانات آن پشتیبانی میکند. PHP همچنین دارای کتابخانههای متعددی است که امکان انجام عملیات گسترده و متنوعی را به برنامهنویس میدهد. توسعهدهندگان PHP با اطلاع از اینکه قابلیت پردازش عبارات منظم نقش مهمی را در پذیرش PHP در میان برنامهنویسان ایفا میکند، کتابخانه PCRE را به این مجموعه افزودند. PCRE۶ که مخفف است، امکان پردازش عبارات منظم سازگار با پرل را فراهم میکند. به این ترتیب آنها به جای اینکه قابلیتهای پرل را مجددا در PHP پیادهسازی کنند، آنها را مستقیما به زبان اضافه کردند. پشتیبانی از سرویسهای وب و XML از دیگر قابلیتهای PHP است. پشتیبانی از PHP از پایگاههای داده نیز ازجمله امکاناتی است که در طول زمان و براساس نیازهایی که بهمرور بهوجود آمدند، به مجموعه ابزارهای PHP افزوده شد. پشتیبانی از سرور پایگاهداده های SQLite راهحل سادهای برای توسعهدهندگانی است که در جستجوی برخی از ویژگیها و قابلیتهای پایگاههای داده بزرگ و سنگین هستند، بیآنکه با بار سنگین مسائل مدیریتی موجود در چنین پایگاههای دادهای روبرو شوند.
● قابلیتهای منحصر بهفرد
توسعهدهندگان مختلف که از PHP برای پیادهسازی یک برنامه کاربردی استفاده میکنند، دلایل گوناگونی برای این امر دارند. در واقع دلایل هر فرد خاص خود او هستند و بر مبنای تجارب برنامهنویسی وی، نیازهای برنامه و امکانات موجود در زبان مورد نظر شکل میگیرند. با این حال، چهار ستون اصلی PHP که همه توسعهدهندگان در مورد آنها اتفاق نظر دارند، عبارتند از: عملی بودن، قدرت، امکانپذیر بودن و هزینه اندک.
زبان PHP از همان ابتدای پیدایش، با ایده عملیبودن پدید آمد. در واقع هدف اصلی لردورف ایجاد یک زبان جدید نبود، بلکه حل مسائلی بود که درآن زمان راه حل عملی برای آنها وجود نداشت. علاوه بر این، بخش عمده تکامل اولیه PHP نتیجه تصمیم برای بهبود زبان نبود، بلکه افزایش سهولت توسعه کد برای کاربر بود. به این ترتیب، حاصل کار یک زبان مینیمالیستی بود که همه آنچه را که برای کاربر لازم بود دربرداشت و در عین حال دستور زبان آن فاقد پیچیدگی بود. آموزش PHP به مبتدیان بسیار ساده است، زیرا یک اسکریپت کوچک و ساده میتواند تنها شامل یک خط کد باشد. در PHP برخلاف C افزودن کتابخانهها به کد اجباری نیست.
قدرت PHP در نسخه PHP ۵ افزایش چشمگیری یافته است. نسخه حاضر برخلاف نسخههای قبلی بیشتر به کیفیت توجه کرده است تا کمیت. در نسخههای پیشین هربار نسخه جدید حجم انبوهی از توابع جدید را به کتابخانههای PHP میافزود. در حال حاضر مجموعه ۱۱۳ کتابخانه PHP، بیش از ۱۰۰۰ تابع در اختیار دارند. اغلب ما میدانیم که PHP قادر است با پایگاههای داده ارتباط برقرار کند، دادهها را پردازش کند و صفحات پویا ایجاد کند. آنچه که بیشتر ما در مورد قدرت PHP نمیدانیم این است که PHP قادر است با مکرومدیا فلش، تصاویر و فایلهای قابلحمل (.pdf) کار کند، کلمههای عبور را از نظر قابل حدس بودن بررسی کند و پیچیدهترین عبارات رشتهای منظم را پردازش کند.
قابلیت امکانپذیر بودن در PHP به برنامهنویسان امکان میدهد که همواره بیش از یک راه حل برای پیادهسازی کد داشته باشند. در مقابل، یک کاربر ممکن است به واسطه تعداد زیاد انتخابهای موجود، دچار سردرگمی شود. بهعنوان مثال، PHP از ۲۵ پایگاه داده مختلف و محصولات وابسته به آنها پشتیبانی میکند. PHP همچنین از تمام قابلیتهای برنامهنویسی شییگرا و برنامهنویسی ساختیافته بهطور همزمان پشتیبانی میکند.
PHP از آغاز یک زبان و نرمافزار کدباز بوده است. نرمافزار کدباز نرمافزار رایگانی است که استفاده، تغییر و توزیع آن هیچ محدودیتی ندارد. نرمافزارهای کدباز مانند لینوکس، آپاچی و PHP، در دهه گذشته نقش عمدهای در توسعه و پیشرفت اینترنت داشتهاند. مهمترین دلیل این امر آزادی عملی است که این نرمافزارها در جهت افزودن امکانات جدید به کاربران میدهند. به این ترتیب هر پروژه جدید در دریایی از استعدادها شناور است. همکاری این استعدادها و تواناییها در نهایت منجر به تولید محصولی با کیفیت بالا میشود.
● اشکالات
PHP نیز مانند بسیاری از زبانهای اسکریپتنویسی، مساله خوانایی کد را در درجه اول اهمیت قرار داده است. به این ترتیب اسکریپتهای PHP در زمان اجرا کامپایل میشوند. این امر با افزودن یک مرحله اضافه به اجرای برنامه، سرعت اجرا را کاهش میدهد. با این حال، هماکنون نرمافزارهایی بهنام بهینهساز کد۷ وجود دارند که با کاهش اندازه و ایجاد تغییراتی در کد، میتوانند زمان اجرا و کارایی برنامه را افزایش دهند.
هماکنون PHP روی بیش از ۲۰ میلیون وبسایت و یک میلیون وبسرور نصب شده است. جدیدترین نسخه PHP نسخه ۵.۲.۶ است که در تاریخ اول ماه می سال ۲۰۰۸ منتشر شد و شما میتوانید آن را بهطور رایگان از سایت زیر دریافت کنید: www.php.net
آوید افضل
پینوشت
۱. Personal Home Page
۲. Rasmus Lerdorf
۳. Server-Side
۴. Rapid Application Development
۵. Object Oriented
۶. Perl Compatible Regular Expressions
۷. Code Optimizer
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست