پشتیبانی Stringable::whenNotExactly() در Laravel 11

stringable when not exactly laravel 11
04 تیر 1404

پشتیبانی از 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!' باشد.

سوالات متداول

؟

متد whenNotExactly در Laravel چیکار می‌کنه؟

؟

چگونه می‌توانم از متد whenNotExactly استفاده کنم؟

؟

آیا می‌توانم چندین شرط با whenNotExactly ایجاد کنم؟

؟

آیا روش دیگری برای کار با رشته‌ها در لاراول وجود داره؟