پشتیبانی از Stringable::whenNotExactly() در Laravel 11
سلام دوستان! امروز میخواهیم در مورد یک ویژگی جالب در Laravel 11 صحبت کنیم که مربوط به کلاس Stringable
و متد whenNotExactly
است. قبل از اینکه به جزئیات این متد بپردازیم، بذارید کمی بیشتر با مفهوم Stringable
آشنا شویم. این کلاس به ما کمک میکند تا با رشتهها به روشی سادهتر و مؤثرتر کار کنیم.
در نسخههای قبلی Laravel، ما معمولاً از متدهای مختلفی برای کار با رشتهها استفاده میکردیم. اما با ورود Stringable
، این کار بسیار راحتتر شده است. متد whenNotExactly
یکی از آن متدهای کاربردی است که به ما این امکان را میدهد که فراخوانیهایی خاص را بر اساس مقادیر رشتهای انجام دهیم.
حالا بگذارید ببینیم که whenNotExactly
چگونه کار میکند. این متد به شما این امکان را میدهد تا یک شرط را بررسی کنید و در صورتی که رشتهی مورد نظر با مقدار مشخصی مطابقت نداشته باشد، یک عمل خاص را انجام دهید. این موضوع در شرایطی که میخواهیم از برخی مقادیر خاص صرفنظر کنیم و به دنبال پیادهسازی منطقهای پیچیدهتری هستیم، بسیار کارآمد است.
یعنی شما میتوانید با استفاده از این متد، کدهای خود را سادهتر و خواناتر کنید. بیایید با هم یک مثال ساده از نحوه استفاده از این متد بزنیم تا بیشتر با عملکرد آن آشنا شویم.
مثال عملی از استفاده از whenNotExactly
$string = Str::of('Laravel 11');
$result = $string->whenNotExactly('Laravel 10', function ($str) {
return $str->append(' is awesome!');
});
echo $result;
توضیح کد
کد:
$string = Str::of('Laravel 11');
این خط یک شیء از کلاس
Stringable
میسازد که حاوی رشته 'Laravel 11'
است.کد:
$result = $string->whenNotExactly('Laravel 10', function ($str) {...});
در این خط، متد
whenNotExactly
فراخوانی میشود. اگر رشته $string
برابر با 'Laravel 10'
نباشد، تابع مشخص شده اجرا میشود.کد:
return $str->append(' is awesome!');
این خط به رشته
$str
عبارت ' is awesome!'
را اضافه میکند.کد:
echo $result;
در نهایت، نتیجه در خروجی چاپ میشود. در این مورد، خروجی باید
'Laravel 11 is awesome!'
باشد.