
PHP یکی از محبوبترین زبانهای برنامهنویسی برای توسعه وب است. نسخه PHP 7 تحولی بزرگ نسبت به نسخههای قبلی ایجاد کرد و عملکرد بهتری ارائه داد. سپس، با معرفی PHP 8، تغییرات اساسیتری از جمله بهبود عملکرد، اضافه شدن قابلیتهای جدید و بهینهسازیهایی در سطح زبان و موتور پردازشی (Zend Engine) صورت گرفت.
در این مقاله تفاوتهای کلیدی بین PHP 7 و PHP 8 را بررسی خواهیم کرد.
یکی از مهمترین تفاوتهای PHP 8 نسبت به PHP 7 افزایش سرعت و بهبود عملکرد است.
در PHP 7 فقط میتوانستیم یک نوع مشخص برای متغیرها تعیین کنیم، اما در PHP 8 امکان استفاده از Union Types فراهم شده است.

PHP 8 نوع داده mixed را معرفی کرده که میتواند چندین نوع را همزمان شامل شود.
function test(mixed $var) { ... }
در PHP 7، مقدار بازگشتی self میتوانست نوع دادهای را مشخص کند اما در PHP 8، static نیز به عنوان یک نوع بازگشتی معتبر است.

در PHP 7، هنگام فراخوانی تابع باید مقادیر ورودی را به ترتیب تعیینشده ارسال میکردیم. در PHP 8، میتوانیم از Named Argumentsاستفاده کنیم که خوانایی کد را افزایش میدهد.

Match در PHP 8 جایگزین پیشرفتهای برای switch است.

در PHP 7 اگر شیءای null بود، دسترسی به ویژگیهای آن منجر به Fatal Error میشد. اما در PHP 8 Nullsafe Operator معرفی شده است.

throw در داخل Expressionها را فراهم کرده است.
strpos() در PHP 7 است.
gettype() ارائه میدهد.echo get_debug_type([1, 2, 3]); // array
PHP 8 تنظیمات جدیدی برای مدیریت سشن ارائه داده و توابع مربوط به آن بهینهسازی شدهاند. از جمله:
session_start() حالا امکان مشخص کردن read_and_close را دارد تا سشن بعد از خواندن بسته شود.PHP 8 تغییرات بزرگی نسبت به PHP 7 دارد و امکانات بهتری را برای توسعهدهندگان فراهم میکند. بهبود عملکرد، مدیریت بهینهتر نوع دادهها، سینتکس پیشرفتهتر و مدیریت بهتر خطاها از مهمترین تفاوتهای این دو نسخه هستند. اگر پروژهای بر پایه PHP 7 دارید، پیشنهاد میشود به PHP 8 مهاجرت کنید تا از امکانات جدید و بهینهسازیهای آن بهره ببرید.