چگونه عملگر “or” لاراول را با عملگر جدید PHP 7 جایگزین کنید؟

بدون دیدگاه

در نسخه بزرگ بعدی لاراول ۵.۷ ، عملگر or حذف خواهد شد. علت این کار که در این Pull Request انجام شده است، اضافه شدن قابلیت جدید مشابه در php 7 است.

گرچه ماه ها تا انتشار نسخه ۵.۷ لاراول باقی مانده است، ولی فکر خوبیه که از حالا به فکر باشیم و عملگر “or” رو با عملگر جدید php جایگزین کنیم.

عملگر جدید Null Coalesce در php 7

این عملگر جدید یک بهبود بسیار عالی در زبان php به شمار می رود که می تواند در template ها بسیار به کار بیاید. به صورتی که نیاز به استفاده مکرر از عملگر ternary به همراه isset() را از بین می برد.

از مستندات سایت php چند نمونه مثال در مورد عملگر جدید مشاهده می کنید:

<?php

// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// Coalescing can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';

حتی می توانید به صورت زنجیره ای از این عملگر استفاده کنید.

عملگر قدیمی “or” چه بود و کجا استفاده می شد؟

قبل از اینکه عملگر جدید به php اضافه شود، blade مشکل را با استفاده از عملگر “or” خود حل می کرد. این مشکل که اگر یک متغیر موجود نبود، از یک مقدار پیش فرض به جای آن استفاده شود.به این صورت:

{{ $name or 'Guest' }}

که میانبری برای این دستور php بود:

isset($name) ? $name : 'Guest'

حالا آپدیت کنید

با توجه به اینکه لاراول ۵.۵ به php 7 نیاز دارد، می توانید از حالا به جای “or” از عملگر جدید استفاده کنید و برای پیشواز لاراول ۵.۷ در سال جاری آماده باشید.

در همین رابطه :   سرعت نسخه بعدی لاراول Scout بهبود 64 برابری خواهد داشت + جزئیات

منبع

دسته بندی : LaravelPHP

دیدگاهتان را بنویسید

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