Quay lại
Fluent string operations trong Laravel

Laravel 7 là một phiên bản chính đã được phát hành vào tuần trước và nó đi kèm với một loạt các tính năng và cải tiến cho framework Laravel. Một trong những cải tiến là API hoạt động với string Fluent hơn. Mục tiêu của các API này là cung cấp tính linh hoạt và dễ đọc hơn cho các thao tác string thông thường trong Laravel.

Để giới thiệu sơ lược về cách Laravel xử lý các hoạt động string trước Laravel 7, chúng ta sẽ lấy một ví dụ.

Pre Laravel 7

Vì vậy, trước Laravel 7, chúng ta đã có một bộ vài phương thức chuỗi được cung cấp bởi Illuminate\Support\Str trait. Vì vậy, ví dụ, bạn muốn làm điều gì đó như bên dưới, bạn sẽ làm như này.

// Generate a file name from the input string
// and change the extension to .html

use Illuminate\Support\Str;

$replaced = Str::replaceLast('php', 'html', 'this is test file.php');

$camelCase = Str::camel($replaced);

// thisIsTestFile.html

Như bạn có thể thấy, đoạn mã trên hơi dài dòng và mặc dù nó không phải là không thể đọc được, nhưng nó vẫn có thể được cải thiện. Đây là lúc Laravel 7’s fluent API dành cho các hoạt động string bắt đầu hoạt động.’

Post Laravel 7

Về cơ bản, Laravel 7 cung cấp một thư viện thao tác string, dựa trên các hàm Illuminate\Support\Str. Để sử dụng Laravel fluent này, bạn cần sử dụng phương thức Str::of để tạo đối tượng Illuminate\Support\Stringable . Sau khi hoàn thành, một loạt các phương thức thao tác string khác nhau có thể được xâu chuỗi vào đối tượng. Vì vậy, ví dụ trên có thể được viết lại như vậy.

// Generate a file name from the input string
// and change the extension to .html

use Illuminate\Support\Str;

$input = 'this is test file.php';

$output = Str::of($input)
                ->replaceLast('php', 'html')
                ->camel();

// thisIsTestFile.html

Như bạn có thể thấy, các hoạt động chuỗi dường như dễ đọc hơn và ít khó hiểu hơn. Điều này cũng làm giảm số lượng biến trung gian mà bạn cần tạo theo cách khác và tất nhiên, điều này sẽ cần ít dòng hơn cho các hoạt động tương đương.

 

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday