Giới thiệu
Fluent Strings là một tính năng mạnh mẽ trong Laravel giúp lập trình viên dễ dàng xử lý và thao tác với chuỗi. Thay vì sử dụng các hàm thao tác với chuỗi một cách thủ công và rời rạc, Fluent Strings cho phép bạn chuỗi các phương thức lại với nhau, giúp code trở nên ngắn gọn, dễ đọc và quản lý hơn.
Trong phần đầu tiên của loạt bài này, chúng ta sẽ khám phá ý nghĩa, cách sử dụng và ví dụ cụ thể cho một số hàm phổ biến trong Fluent Strings của Laravel như: after(), before(), camel(), contains(), và nhiều hàm khác.
1. after($string, $search)
Trả về phần chuỗi sau chuỗi con đầu tiên được tìm thấy.
Cách sử dụng:
use Illuminate\Support\Str;
$result = Str::of('Welcome to CodeTutHub')->after('to');
// Kết quả: " CodeTutHub"2. afterLast($string, $search)
Trả về phần chuỗi sau lần xuất hiện cuối cùng của chuỗi con.
Cách sử dụng:
$result = Str::of('app/Http/Controllers/Controller')->afterLast('/');
// Kết quả: "Controller"3. append($string, ...)
Thêm một hoặc nhiều chuỗi vào cuối chuỗi hiện tại.
Cách sử dụng:
$result = Str::of('CodeTutHub')->append(' is', ' great!');
// Kết quả: "CodeTutHub is great!"4. ascii($string)
Chuyển đổi chuỗi thành các ký tự ASCII.
Cách sử dụng:
$result = Str::of('café')->ascii();
// Kết quả: "cafe"5. basename($path)
Lấy tên tập tin hoặc thư mục từ một đường dẫn.
Cách sử dụng:
$result = Str::of('/path/to/file.txt')->basename();
// Kết quả: "file.txt"6. before($string, $search)
Trả về phần chuỗi trước một chuỗi con.
Cách sử dụng:
$result = Str::of('Welcome to CodeTutHub')->before(' to');
// Kết quả: "Welcome"7. beforeLast($string, $search)
Trả về phần chuỗi trước lần xuất hiện cuối cùng của chuỗi con.
Cách sử dụng:
$result = Str::of('app/Http/Controllers/Controller')->beforeLast('/');
// Kết quả: "app/Http/Controllers"8. between($string, $from, $to)
Trả về phần chuỗi nằm giữa hai chuỗi con.
Cách sử dụng:
$result = Str::of('This is [a test]')->between('[', ']');
// Kết quả: "a test"9. betweenFirst($string, $from, $to)
Trả về chuỗi nằm giữa lần xuất hiện đầu tiên của hai chuỗi con.
Cách sử dụng:
$result = Str::of('foo[bar]baz[qux]')->betweenFirst('[', ']');
// Kết quả: "bar"10. camel($string)
Chuyển chuỗi thành camelCase.
Cách sử dụng:
$result = Str::of('hello_world')->camel();
// Kết quả: "helloWorld"11. charAt($index)
Lấy ký tự tại vị trí chỉ định trong chuỗi.
Cách sử dụng:
$result = Str::of('Hello')->charAt(1);
// Kết quả: "e"12. classBasename($class)
Lấy tên class từ đường dẫn đầy đủ.
Cách sử dụng:
$result = Str::of(App\Models\User::class)->classBasename();
// Kết quả: "User"13. chopStart($string, $prefix)
Loại bỏ một chuỗi con từ đầu chuỗi nếu nó tồn tại.
Cách sử dụng:
$result = Str::of('https://codetuthub.com')->chopStart('https://');
// Kết quả: "codetuthub.com"14. chopEnd($string, $suffix)
Loại bỏ một chuỗi con từ cuối chuỗi nếu nó tồn tại.
Cách sử dụng:
$result = Str::of('codetuthub.com/')->chopEnd('/');
// Kết quả: "codetuthub.com"15. contains($haystack, $needles)
Kiểm tra xem chuỗi có chứa một chuỗi con hay không.
Cách sử dụng:
$result = Str::of('Laravel is awesome')->contains('awesome');
// Kết quả: true16. containsAll($haystack, $needles)
Kiểm tra xem chuỗi có chứa tất cả các chuỗi con trong một mảng không.
Cách sử dụng:
$result = Str::of('Laravel is awesome')->containsAll(['Laravel', 'awesome']);
// Kết quả: true17. deduplicate($string)
Loại bỏ các từ trùng lặp liền kề trong chuỗi.
Cách sử dụng:
$result = Str::of('This is is a test test')->deduplicate();
// Kết quả: "This is a test"18. dirname($path)
Trả về đường dẫn thư mục của một đường dẫn tập tin.
Cách sử dụng:
$result = Str::of('/path/to/file.txt')->dirname();
// Kết quả: "/path/to"19. endsWith($haystack, $needles)
Kiểm tra xem chuỗi có kết thúc bằng chuỗi con không.
Cách sử dụng:
$result = Str::of('This is a test')->endsWith('test');
// Kết quả: true20. exactly($string)
Kiểm tra xem hai chuỗi có hoàn toàn giống nhau không.
Cách sử dụng:
$result = Str::of('Laravel')->exactly('Laravel');
// Kết quả: true21. excerpt($text, $phrase)
Trả về một đoạn văn ngắn có chứa chuỗi con chỉ định.
Cách sử dụng:
$result = Str::of('Laravel is a great framework')->excerpt('great');
// Kết quả: "... is a great framework"22. explode($string, $delimiter)
Chuyển chuỗi thành một mảng dựa trên ký tự phân tách.
Cách sử dụng:
$result = Str::of('one, two, three')->explode(', ');
// Kết quả: ['one', 'two', 'three']23. finish($string, $cap)
Thêm chuỗi con vào cuối chuỗi nếu nó chưa tồn tại.
Cách sử dụng:
$result = Str::of('hello')->finish('world');
// Kết quả: "helloworld"24. headline($string)
Chuyển chuỗi thành dạng tiêu đề (mỗi từ được viết hoa).
Cách sử dụng:
$result = Str::of('hello world')->headline();
// Kết quả: "Hello World"25. inlineMarkdown($string)
Chuyển đổi Markdown thành HTML theo kiểu inline.
Cách sử dụng:
$result = Str::of('**Bold** _italic_')->inlineMarkdown();
// Kết quả: "<strong>Bold</strong> <em>italic</em>"26. is($pattern, $value)
Kiểm tra xem chuỗi có khớp với mẫu không.
Cách sử dụng:
$result = Str::of('foobar')->is('foo*');
// Kết quả: true27. isAscii($string)
Kiểm tra xem chuỗi có chứa các ký tự ASCII không.
Cách sử dụng:
$result = Str::of('Laravel123')->isAscii();
// Kết quả: true28. isEmpty($string)
Kiểm tra xem chuỗi có rỗng không.
Cách sử dụng:
$result = Str::of('')->isEmpty();
// Kết quả: true29. isNotEmpty($string)
Kiểm tra xem chuỗi có không rỗng không.
Cách sử dụng:
$result = Str::of('Laravel')->isNotEmpty();
// Kết quả: true30. isJson($string)
Kiểm tra xem chuỗi có phải là JSON hợp lệ không.
Cách sử dụng:
$result = Str::of('{"name":"John"}')->isJson();
// Kết quả: true31. isUlid($string)
Kiểm tra xem chuỗi có phải là một ULID hợp lệ không.
Cách sử dụng:
$result = Str::of('01F3TXD6SC7TK5KN5VXDRBQYJN')->isUlid();
// Kết quả: trueKết luận
Trong bài viết đầu tiên này, chúng ta đã cùng nhau khám phá và tìm hiểu cách sử dụng các hàm Fluent Strings cơ bản trong Laravel. Các hàm này không chỉ giúp việc xử lý chuỗi trở nên dễ dàng hơn mà còn tăng hiệu quả phát triển ứng dụng.
Trong bài viết tiếp theo, chúng ta sẽ tiếp tục với những hàm Fluent Strings nâng cao khác để giúp bạn làm chủ hoàn toàn tính năng này trong Laravel.
Chúc bạn học tập hiệu quả trên CodeTutHub!








