شیوا سیاهوشی 

نوامبر 30, 2019

PHP 7.4 منتشر شد ویژگی‌ها، دانلود و بروزرسانی‌های php 7.4

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

افیکس هاست نیز تمام سرویس‌های خود را به php7.4 مجهز کرده و هم‌اکنون می‌توانید این نسخه جدید پی اچ پی را بر روی هاست لینوکس و سرورهای پرسرعت تجربه کنید.
خرید هاست لینوکس با php 7.4 - linux hosting

ویژگی‌های php 7.4

افزایش سرعت سایت

با بروزرسانی به نسخه جدید پی اچ پی، تغییرات اعمال‌شده بر این نسخه موجب بهبود سایت شما شده و شاهد زمان کمتری برای لود آن خواهید بود. چرا که فرمت کدها به شکل چشمگیری تغییر کرده و از این پس، نیازی به نگارش کدهای زیادی نیست. تمرکز پی اچ پی۷٫۴ بر روی تمیزنویسی و خلاصه نویسی‌ست. از این رو، منابع سایت نیز به حجم کمتری خواهند رسید و این امر باعث افزایش سرعت سایت وردپرسی و دیگر پلتفرم‌های ساخت وبسایت خواهد شد.

پشتیبانی سیستم‌های مدیریت محتوا از php 7.4

به محض انتشار php7.4، سیستم‌های مدیریت محتوا (CMS) نیز سازگاری این نسخه را با پلتفرم خود اعلام کردند. با دانلود هر کدام از این CMSها، وبسایت خود را بر پایه‌ی نسخه اخیر پی اچ پی ایجاد کنید:
پشتیبانی وردپرس از پی اچ پی ۷٫۴
پشتیبانی جوملا از پی اچ پی ۷٫۴
پشتیبانی پرستاشاپ از پی اچ پی ۷٫۴
افیکس هاست نیز هاست وردپرس خود را به این نسخه از پی اچ پی بروزرسانی کرده و آن را با بالاتری سرعت و کیفیت به شما عرضه می‌دارد. هم‌اکنون هاست وردپرس خود را سفارش دهید و از امکانات جدید php 7.0 بهره ببرید:

خرید هاست وردپرس با php 7.4 - wordpress host

Arrow Functions

یکی از بهترین و بارزترین تغییرات این نسخه، «Arrow Functions» یا «Short Closures» است که به کوتاه و زیبانویسی کدها کمک می‌کند. در واقع با استفاده از این ویژگی، می‌توانید کدهای مورد نظر خود را به صورت خلاصه اعمال کنید.
مثال:

قبل از php 7.4

}(function cube($n
;(return ($n * $n * $n
{
;[$a = [1, 2, 3, 4, 5
;($b = array_map(‘cube’, $a
;(print_r($b

در php 7.4

;[$a = [1, 2, 3, 4, 5
;(b = array_map(fn($n) => $n * $n * $n, $a
;(print_r($b

همانطور که می‌دانید واژه use به متغیرهای parent دسترسی ایجاد می‌کند که در php 7.4 نیازی به استفاده از این واژه نیست و این ویژگی بصورت خودکار اعمال خواهد شد.
مثال:

قبل از php 7.4

;$factor = 10
}(calc = function($num) use($factor
;return $num * $factor
;{

در php 7.4

;$factor = 10
;$calc = fn($num) => $num * $factor

 

Typed Properties

ویژگی Typed Properties در نسخه جدید php اعمال شده و باعث ارتقای سیستم تایپ پی اچ پی شده‌است. البته در نظر داشته باشید که این ویژگی تنها در class ها در دسترس بوده و به access modifierهای public، protected یا private یا var نیاز دارد.
مثال:

class A
}
;public string $name
;public ?Foo $foo
{

 

Null Coalescing Operator

با بهره‌گیری از این قابلیت، می‌توان قرارگیری یک مقدار یا متغیر را با نگارش زیباتر و خلاصه‌ای به نمایش گذاشت.
مثال:

قبل از php 7.0

;()data[‘date’] = $data[‘date’] ?? new DateTime$

در php 7.0

;()data[‘date’] ??= new DateTime$

 

Array Spread Operator

با اضافه شدن این قابلیت در نسخه php 7.4، می‌توانید بدون نیاز از تابع array_merge، دو آرایه را به یکدیگر متصل نمایید و خروجی یکتا داشته باشید.
مثال:

;[arrayA = [1, 2, 3
;[arrayB = [4, 5
;[result = [0, …$arrayA, …$arrayB, 6 ,7
[۷ ,۶ ,۵ ,۴ ,۳ ,۲ ,۱]//

 

Numeric Literal Separator

این قابلیت در نسخه جدید php، باعث شده‌است که با استفاده از underscores (_)، مقدارهای عددی را از یکدیگر جدا کنیم. این ویژگی نیز تنها برای مرتب‌سازی کدها بکار می‌رود و تاثیری در محتوا نخواهد داشت، چرا که در کل توسط سیستم، خوانده نمی‌شود.
مثال:

;unformattedNumber = 107925284.88
;formattedNumber = 107_925_284.88

 

تابع mb_str_split

این تابع، عملکردی شبیه به str_split دارد، با این تفاوت که تنها بر روی رشته‌های چند بایتی موثر است.

 

تغییر جایگاه «.» همراه با علامت‌های «+» و «-»

در نسخه‌های قبلی پی اچ پی، اعمال جمع و منهای مقادیر به شکل زیر کاربرد داشته‌اند:

;echo “sum: ” . $a + $b

در حال حاضر نیز این اعمال به شکل زیر بکار می‌روند:

;echo (“sum: ” . $a) + $b

در نسخه بعدی پی اچ پی ۷٫۴، یعنی php 8.0 این روش به کلی منسوخ خواهد شد و به شکل زیر کاربرد خواهند داشت:

;(echo “sum :” . ($a + $b

به این دلیل، php 7.4 درمورد این تغییر بزرگ هشدار داده و استفاده از «.» پیش از علامت‌های «+» و «-» را منسوخ اعلام کرده‌است.

 

امکان بکار بردن آرایه ها در strip_tags

تاکنون تنها قادر بودید چندین تگ را با استفاده از تابع strip_tags به شکل زیر بکار ببرید:

strip_tags($string, ‘<a><p>’)

اما php 7.4 این امکان را به شما می‌دهد تا علاوه بر تگ، آرایه‌ها را نیز با strip_tags بکار ببرید:

([‘strip_tags($string, [‘a’, ‘p

 

موارد و توابع منسوخ شده در php 7.4

real type
Magic quotes legacy
کاربرد ( ) array_key_exists با مقادیر
فیلتر FILTER_SANITIZE_MAGIC_QUOTES
()mb_strrpos
()implode
جدایی $this از non-static closures
تابع ()hebrevc
تابع ()convert_cyr_string
تابع ()money_format
تابع ()restore_include_path
تابع ()ezmlm_hash
allow_url_include ini directive

بروزرسانی به php 7.4، امکانات بسیاری را در اختیار شما گذاشته و البته شما را از استفاده از کدهای منسوخ و قدیمی پی اچ پی بازمی‌دارد. پس از دانلود پی اچ پی۷٫۴، موارد گفته شده در این مقاله را نیز در بکار بردن آن رعایت کنید.
لینک دانلود php 7.4:
دانلود php 7.4 - php7.4 download

شیوا سیاهوشی 

متخصص سئو، کپی‌رایتر، علاقه‌مند به حوزه هاستینگ و مدرس زبان انگلیسی.