تعداد بازدید: 272

ویژگی های جدید در PHP 7

php7 با عملکردی متفاوت و ویژگی های جدید و حذف برخی عملکرد های قدیمی به همراه تغییرات زیادی ارائه شد. بسیاری از ابزارهای زبان php نظیر WordPress , Laravel نیز از یه زمانی به بعد استفاده از خودشون رو بر اساس php7 به بعد قرار دادند.

Anonymous Classes

قابلیت ساخت کلاس بدون نام (Programmer Declared Name) یا کلاس ناشناخته با استفاده از کلمه کلیدی new که می توان آن را در یک متغیر قرار داد. عملکرد آن متغیر نسبت به یک متغیر دیگر که از یک کلاس با نام new شده است تفاوتی ندارد.

به عبارت دیگر می توان گفت گرامر (Syntax) همان کلاس عادی فقط بدون نام . Anonymous classes در موارد زیر مورد استفاده قرار می گیرد:

  • زمانی که کلاس نیاز به مستند سازی ندارد( documented ).
  • کلاس تنها یک بار در طول برنامه اجرا می گردد.
  • تنهای یک شئ از کلاس قرار است ساخته شود.

CSPRNG Functions

توابع جدید برای ایجاد رشته و اعداد تصادفی :

  • random_bytes : طول خروجی بایت را می گیرد و مقدار را تولید می کند. اگر با استفاده از تابع bin2hex می توانیم آن را به مبنای hexadecimal ببریم.
  • random_int : بازه اعداد را می گیرد و با توجه به بازه اعداد عدد تصادفی صحیح را ایجاد می کند.

New Oprators

عملگر های جدیدی برای زیبا تر شدن کد و همچنین کارایی بهتر نظیر ?? , :? , <=> معرفی شدند.

Spaceship Operator : برای مقایسه کوچکتر یا بزرگتر بودن دو مقدار بر اساس جدول مقایسه نوع می باشد. خروجی این تابع 0 و 1 و -1 می باشد. 0 به ازای تساوی و 1 به ازای بزرگتر بودن پارامتر اول و -1 به ازای بزرگتر بودن پارامتر دوم.

Null coalescing : عملگری پرکاربرد برای مقدار دهی متغیر ها بر اساس دو متغیر دیگر . به طوری که اگر متغیر اول isset شده بود بر میگردد جهت مقدار دهی و در غیر این صورت متغیر دوم که مقدار پیش فرض هم است.

ternary operator : عملگری که هنگام مقدار دهی یک متغیر استفاده می شود. به طوری که اگر مقدار بازگشتی چیزی غیر از null و مقدار خالی بود برمی گرداند و در غیر اینصورت مقدار Default را بر می گرداند.

تفاوت ternary operator و null coalescing : عملگر ternary مقادیر تعریف نشده را بر نمی تابد و بر عکس null coalescing .

Scalar Type

که برخی جاها به آن Type hinting می گویند به شما این مجوز را می دهد که نوع داده متغیر یا پارامتر یا خروجی متد( Argument Type and Return Type) را مشخص کنید.

scalar technique

  • None : یعنی نوع متغیر بر اساس عملگر مقدار.
  • Coercive : در صورت مغایرت نوع متغیر ورودی مقدار را تبدیل می کند.مثلا فرض کنید یک تابع مقدار ورودی int می گیرد ولی ما به آن '20' را می دهیم. مقدار رشته به integer تبدیل می شود.
  • Strict : در صورت مغایرت نوع پارامتر ورودی خطا می دهد. این اتفاق با declare(strict_types = 1) انجام می پذیرد.

Constant arrays

می توان یک ثابت از نوع آرایه تعریف کرد. در ورژن های قبل PHP ما تنها قابلیت تعریف ثابت از نوع رشته یا عدد را داشتیم.

Group use declarations

می توان در یک خط کد تعداد زیادی نشانه (namespace) را use کرد.

 

مطالب مشابه

xml in php , dom document

کار با XML در PHP

XML مخفف (eXtensible Markup Language - زبان نشانه گذاری توسعه پذیر) طراحی شده برای ذخیره و انتقال اطلاعات می باشد. XML...

php command line feature

امکانات command line در php

php یک زبان برای embed (جاسازی) به فرمت HTML می باشد. در عین حال command line interface نیز دارد و می توان مثل تمامی...

namespace rational in php

منطق Namespace در PHP

دوتابع با نام یکسان Fatal Error است. برای جلوگیری از این خطا می توانید یک prefix ابتدای نام تابع بنویسید تا احتمال...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای ویژگی های جدید در PHP 7

پاسخی بگذارید

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