021-88926351
info@ezHost.ir
ورود ثبت نام
Facebook
LinkedIn
Instagram
  • صفحه نخست
  • ثبت دامنه
  • میزبانی وب
    • هاست لینوکس
      • حرفه ای ایران
      • حرفه ای اروپا
      • اقتصادی (لیکونومی)
      • هاست ویژه وردپرس
    • هاست ویندوز
      • حرفه ای ابری ایران
  • سرور مجازی
    • ایران
    • خارج
      • آلمان
      • فنلاند
    • سرور مجازی بایننس و ترید
  • سرور اختصاصی
    • خارج از کشور
      • سرور هلند
  • نمایندگی فروش
    • هاست لینوکس
      • داخل کشور
      • خارج از کشور
    • هاست ویندوز
      • داخل کشور
    • نمایندگی دامنه بین المللی
    • همکاری در فروش
  • سایر خدمات
    • گواهینامه SSL
    • طراحی وب سایت
  • ایزی هاست
    • ورود به ناحیه کاربری
    • وبلاگ ایزی هاست
    • شماره حساب ها
    • فرصت های شغلی
    • سنجش رضایتمندی
    • درباره ما
    • تماس با ما

PHP 8 و ویژگی هایش

نوامبر 16, 2021هـ. حسینیدانشنامهبدون پیغام

در مباحث گذشته به مطالبی مثل PHP چیست و پایان عمر برای php 5.6 و PHP 7  اشاره کردیم. اگر با این مطالب آشنایی ندارید به شما پیشنهاد میکنیم اول سری به اینها بزنید.

PHP 8

PHP 8 در ۲۶ نوامبر ۲۰۲۰ منتشر شده است. PHP 8 یک نسخه اصلی و جدید است به این معنی که تغییرات اساسی و همچنین بسیاری از ویژگی های جدید و بهبود عملکرد در آن وجود دارد. به این علت که در این نسخه تغییراتی وجود دارد احتمالا شما نیز برای استفاده از آن نیاز به تغییرات اساسی داشته باشید، اما اگر همواره با آخرین نسخه ها به روز رسانی کرده اید ارتقا برای شما کار سخت و پیچیده ای نباید باشد.

PHP چندین ویژگی اصلی جدید را برای PHP 8.0 به ارمغان می‌آورد ویژگی‌هایی مانند Named Parameters، JIT، Attributes و Constructor Properties باعث بهبودهای عمده و تغییرات  می‌شوند.

اکنون میخواهیم با برخی از ویژگی های جدید PHP 8 آشنا شویم:

Union types

Union Types یکی از ویژگی های ورژن جدید است که به شما اجازه می‌دهد تا Type های مختلفی برای توابع، متدها یا متغیرها تعریف کنید. در ورژن های قبلی، نوع فایل (یا متد) ورودی و خروجی، نمی‌توانستند متفاوت باشند.

کامپایلر JIT

JIT مخفف(just in time) یعنی در زمان است، این به معنی آن است که به جای اینکه کد ها را کامپایل و سپس اجرا کند کدها را در لحظه اجرا (runtime) پردازش کرده و به زبان قابل‌فهم برای ماشین تبدیل می‌کند.

مقاله بعدی ما که به زودی کامل میشود به توضیح کاملی درباره این کامپایلر پرداخته ایم و به شما پیشنهاد میکنیم که به مقاله کامپایلر JIT حتما رجوع کنید.

 Attributes

Attributes اجازه می دهد تا متا داده ها(meta-data) را برای توابع، کلاس ها، ویژگی ها و پارامترها اعلام کنید. در نسخه‌های پیشین، برای این کار در حین کد نویسی، از عملگر ‘doc_comments’ استفاده می‌شد.

در اینجا مثالی از ظاهر Attributes در RFC آورده شده است:

اپراتور nullsafe

اگر با اپراتور (null coalescing) کار کرده باشید از قبل با کاستی های آن آشنا هستید.

حتماً می‌دانید که این اپراتور نمی‌تواند برای متدهایی که فقط یک آبجکت دارند، عمل کند. در صورت استفاده از این عملگر برای متدهای دارای یک آبجکت، با یک خطا تحت عنوان «this method is not defined!» روبرو خواهید شد.

با اضافه شدن عملگر nullsafe، اکنون می توانیم رفتاری شبیه به ادغام تهی روی متد ها داشته باشیم!

Named Arguments

PHP 8 پارامترهای نامگذاری شده را در توابع میپذیرد.  استفاده از این اپراتور کد شما را خوانا تر و قابل درک تر برای ماشین می‌کند. در واقع شما میتوانید به جای وارد کردن تمام آرگومان ها با ترتیب مشخص، با ذکر نام آرگومان مورد نیاز، آن را مقدار دهی کنید.

Match Expression

شما میتوانید Mach Expression را برادر بزرگ عملگر switch بنامید، می‌تواند مقادیر (values) را بازگرداند و نیازی به استفاده از breaks ندارید. عملکرد کلی match expression و switch یکسان است اما Match Expression ظاهری بهتر و کد خواناتری دارد، خروجی آن می‌تواند یا در متغیر ذخیره و یا به طور مستقیم بازگردانده شود.

Constructor property promotion

تعریف تابع Constructor در نسخه جدید به شکل ساده تری انجام میشود. یک دستور جدید برای اعلام خصوصیات کلاس مستقیماً از سازنده کلاس است.

WeakMaps

WeakMap مشابه SplObjectStorage است، زیرا در WeakMap و splObjectStorage از اشیاء به عنوان کلید استفاده می شود و اجازه ذخیره مقادیر دلخواه را می دهد. با این حال، WeakMap مانع از جمع آوری زباله نمی شود.

Download Premium WordPress Themes Free
Download WordPress Themes
Download WordPress Themes
Download Nulled WordPress Themes
online free course
download micromax firmware
Premium WordPress Themes Download
online free course
برچسب: JIT, PHP, php 8, Union types

مطالب پیشنهادی

نحوه افزایش محدودیت حافظه PHP در وردپرس

ژانویه 4, 2020مدیر سایت

عملکرد JIT

نوامبر 17, 2021هـ. حسینی

مقابله با حملات تزریق کد

مارس 11, 2015مدیر سایت

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ورود به ناحیه کاربری
مرکز آموزش

تمام حقوق این سایت متعلق به ایزی هاست می باشد