گرچه ماه ها تا انتشار نسخه 5.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'
لاراول
فقط
خوش آمدید!
ایجاد حساب کاربری