Quay lại

str() and to_route() helpers trong Laravel 9 Chuyên mục PHP và Laravel    2024-01-05    36 Lượt xem    26 Lượt thích    comment-3 Created with Sketch Beta. 0 Bình luận

str() and to_route() helpers trong Laravel 9

Trước Laravel 9, khi bạn muốn tương tác với chuỗi, bạn sẽ sử dụng lớp Illuminate\Support\Str như sau:

use Illuminate\Support\Str;
 
$result = Str::endsWith('PHP is awesome', 'PHP');

// Outputs: true

Hoặc nếu bạn muốn thực hiện các thao tác chuỗi một cách linh hoạt, bạn có thể sử dụng Illuminate\Support\Str::of, trả về một phiên bản của lớp Illuminate\Support\Stringable như sau:

use Illuminate\Support\Str;

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

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

// thisIsTestFile.html

Nhưng với việc phát hành Laravel 9, có thêm một cách nữa để làm điều tương tự.

str() helper

Laravel 9 hiện có một hàm trợ giúp mới toàn cầu là str() mà bạn có thể sử dụng để thực hiện các thao tác chuỗi một cách linh hoạt giống như bạn làm với Str::of.

Vì vậy, ví dụ trước đó có thể được viết lại sử dụng str() như sau.

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

$output = str($input)
                ->replaceLast('php', 'html')
                ->camel();

// thisIsTestFile.html

Như bạn có thể thấy, một ưu điểm của phương thức trợ giúp này là bây giờ bạn không cần phải nhập toàn bộ lớp Illuminate\Support\Str. Vì vậy, đó là một gánh nặng ít đi. Nó chỉ hoạt động!

Và hơn nữa, nó trở nên tinh tế và gọn gàng hơn.

Ngoài ra, nếu bạn không cung cấp bất kỳ đối số nào cho hàm str(), hàm vẫn trả về một phiên bản của Illuminate\Support\Str mà bạn có thể sử dụng để thực hiện các thao tác linh hoạt hơn.

$output = str()->camel('test file.php');

// testFile.php

to_route() helper

Ngoài hàm trợ giúp str(), Laravel 9 cũng đi kèm với một hàm trợ giúp thuận tiện là to_route() mà bạn có thể sử dụng thay vì redirect()->route() cho các route có tên chẳng hạn.

Vì vậy, nếu chúng ta có một route có tên là home, đây là cách nó trông như trong cả hai trường hợp, trước và sau Laravel 9.

// Pre Laravel 9
Route::get('redirectHome', function() {
    return redirect()->route('home');
});

// Post Laravel 9
Route::get('redirectHome', function() {
    return to_route('home');
});

Như bạn có thể thấy, hàm trợ giúp to_route() hoạt động giống như redirect()->route() nhưng nó một chút biểu cảm và ngắn gọn hơn.

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