PHP که مخفف "Hypertext Preprocessor" است، یک زبان اسکریپتنویسی سمت سرور متنباز است که عمدتاً برای توسعه وب طراحی شده است، اما به عنوان یک زبان برنامهنویسی عمومی نیز استفاده میشود. این زبان به خاطر سهولت استفاده و انعطافپذیری در ایجاد صفحات وب پویا، تعامل مؤثر با پایگاههای داده و مدیریت فرمها شناخته شده است. PHP میتواند در HTML گنجانده شود و بهویژه برای سرورهای وب مناسب است. تا سال 2023، PHP درصد قابل توجهی از وبسایتها را در سطح جهانی تأمین میکند، از جمله پلتفرمهای بزرگ مانند وردپرس، فیسبوک و ویکیپدیا.
PHP در ابتدا توسط برنامهنویس دانمارکی-کانادایی، راسموس لردورف، در سال 1993 ایجاد شد. این زبان به عنوان مجموعهای از باینریهای Common Gateway Interface (CGI) آغاز شد که لردورف از آنها برای نگهداری صفحه اصلی شخصیاش استفاده میکرد. با افزایش علاقه به پروژه اولیهاش، لردورف آن را در سال 1995 به PHP/FI (Personal Home Page/Forms Interpreter) گسترش داد که به کاربران اجازه میداد دادههای فرم را جمعآوری کرده و محتوا را بهراحتی مدیریت کنند.
پس از انتشار PHP/FI، زبان شاهد مشارکتهای بیشتری از جامعه بود که منجر به انتشار PHP 3 در سال 1998 شد، که توسط آندی گوتمنز و زئو سوراسکی توسعه یافت. این نسخه یک موتور قویتر و ویژگیهای جدیدی را معرفی کرد و پایهگذار PHP 4 در سال 2000 شد. PHP 5 در سال 2004 منتشر شد و قابلیتهای برنامهنویسی شیءگرا (OOP) و افزونه PHP Data Objects (PDO) برای تعامل با پایگاههای داده را معرفی کرد.
از آن زمان، PHP شاهد توسعه مداوم بوده است و PHP 7 در اواخر سال 2015 منتشر شد که بر بهبود عملکرد و ویژگیهای جدید زبان تمرکز داشت. تا سال 2021، PHP 8 منتشر شد که شامل کامپایل JIT (Just In Time)، نوعهای اتحادی، آرگومانهای نامدار و ویژگیها بود و اهمیت آن را در توسعه وب مدرن بیشتر تثبیت کرد. PHP همچنان یکی از بازیگران مهم در زمینه زبانهای برنامهنویسی است و دارای اکوسیستم وسیعی از فریمورکها، کتابخانهها و منابع جامعه است.
در PHP، متغیرها با علامت دلار ($
) قبل از نام متغیر اعلام میشوند.
$greeting = "سلام، دنیا!";
PHP از آرایههای ایندکسدار و انجمنی پشتیبانی میکند که میتوانند چندین مقدار را در خود نگه دارند.
$fruits = array("سیب", "موز", "پرتقال");
$associativeArray = array("نام" => "جان", "سن" => 30);
توابع در PHP میتوانند با استفاده از کلمه کلیدی function
تعریف شوند که امکان استفاده مجدد از کد را فراهم میکند.
function add($a, $b) {
return $a + $b;
}
PHP دارای ساختارهای کنترلی معمولی مانند if
، else
و switch
برای منطق شرطی است.
if ($age >= 18) {
echo "بزرگسال";
} else {
echo "نوجوان";
}
PHP از حلقههای مختلفی از جمله for
، while
و foreach
پشتیبانی میکند.
foreach ($fruits as $fruit) {
echo $fruit;
}
PHP از مفاهیم OOP، از جمله کلاسها و اشیاء پشتیبانی میکند.
class Car {
public $color;
function __construct($color) {
$this->color = $color;
}
}
$myCar = new Car("آبی");
PHP مدیریت خطا را با استفاده از استثناها با try
، catch
و finally
فراهم میکند.
try {
throw new Exception("یک خطا رخ داد");
} catch (Exception $e) {
echo $e->getMessage();
}
PHP اجازه میدهد تا فایلها برای برنامهنویسی مدولار شامل شوند.
include 'header.php';
PHP چندین متغیر داخلی به نام سوپرگلوبالها را فراهم میکند که از هر دامنهای قابل دسترسی هستند.
echo $_POST['username'];
از PHP 7 به بعد، میتوان از اعلام نوع برای اجباری کردن ایمنی نوع استفاده کرد.
function sum(int $a, int $b): int {
return $a + $b;
}
محیطهای توسعه یکپارچه (IDEs) رایج برای PHP شامل PhpStorm، Visual Studio Code، NetBeans و Eclipse PDT هستند. هر کدام ابزارهای قوی برای اشکالزدایی، تکمیل کد و مدیریت پروژه ارائه میدهند.
PHP عمدتاً تفسیر شده است و به موتور Zend برای پردازش اسکریپتهای PHP وابسته است. این زبان میتواند در یک محیط سرور با نرمافزارهایی مانند XAMPP یا LAMP اجرا شود.
به طور معمول، پروژههای PHP در دایرکتوریهایی ساختار یافتهاند که شامل فایلهای منبع، فایلهای پیکربندی و وابستگیها هستند. Composer مدیر وابستگی است که معمولاً برای برنامههای PHP استفاده میشود و مدیریت بسته و بارگذاری خودکار را ساده میکند.
PHP عمدتاً برای اسکریپتنویسی سمت سرور استفاده میشود، اما کاربردهای آن به موارد زیر گسترش مییابد:
هنگام مقایسه با زبانهایی مانند جاوااسکریپت، پایتون و روبی، PHP همچنان یک انتخاب محبوب برای توسعه بکاند وب به دلیل کتابخانهها و فریمورکهای گستردهاش باقی مانده است. با این حال، در حالی که PHP بهطور خاص برای برنامههای وب طراحی شده است، زبانهایی مانند پایتون و روبی اغلب برای وظایف برنامهنویسی عمومیتر استفاده میشوند.
ترجمه از منبع به منبع، یا ترنسپایل، شامل تبدیل کد از یک زبان برنامهنویسی به زبان دیگر است. ابزارهای متعددی برای PHP وجود دارد: