저는 주로 Laravel을 사용하는 PHP 풀스택 개발자로서, 개발 시간을 효과적으로 단축하거나 코드 복잡성을 줄이기 위해 사용할 수 있는 일부 프레임워크의 메서드를 자주 찾을 것입니다. 다음은 제가 일상생활에서 자주 사용하는 좋은 보조방법들을 정리한 것입니다. 알아봅시다 ✨
이 글의 대부분의 메소드는 Laravel7 및 이전 버전을 기반으로 합니다. (문제가 발생하면 버전 호환성 문제인지 먼저 확인하세요.)
첫 번째 도우미 함수 문자열을 가져와 설정된 문자 길이 제한으로 자릅니다 . 두 가지 필수 매개 변수, 즉 잘라내려는 문자열과 반환된 잘린 문자열의 문자 길이 제한이 필요합니다. [관련 권장사항: laravel 비디오 튜토리얼]
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20); // The quick brown fox ...
세 번째 선택적 매개변수를 전달하여 반환된 문자열 뒤에 표시되는 내용을 제어할 수도 있습니다.
use Illuminate\Support\Str; $truncated = Str::limit('The quick brown fox jumps over the lazy dog', 20, '[...]'); // The quick brown fox [...]
긴 텍스트 블록을 요약으로 단축하거나 기사 목록에 대한 게시물 미리보기에 적합하다고 생각합니다.
이 기능은 굉장합니다. 간단한 메소드는 일반적으로 여러 개의 중첩된 기본 PHP 함수로 구성되며, head()는 배열의 첫 번째 요소를 반환합니다. 글로벌하고 유비쿼터스적인 특성으로 인해 다양한 응용 프로그램에서 사용해 왔습니다.
$array = [100, 200, 300]; $first = head($array); // 100
반대로 하고 싶으신가요? 배열의 마지막 요소를 가져오려면 last
메서드를 사용하세요. last
方法可以获取数组的最后一个元素。
$array = [100, 200, 300]; $last = last($array); // 300
这是关于使用head和last方法的最佳方法,因为它们根本不影响原始数组。
顾名思义, Str::between() 会 返回字符串中的内容。如果没有找到指定字符串,返回 null
。
use Illuminate\Support\Str; $slice = Str::between('My name is Inigo Montoya.', 'My name is ', '.'); // 'Inigo Montoya'
我喜欢用这种方式从 ()
或 []
之间获取信息、返回 url 中的特定部分、甚至是从 html 标签中解析数据。
它 和empty()
差不多,但是更好用。它根据你传入的参数是否包含实际数据,来返回一个布尔值。
// all of these return true blank(''); blank(' '); blank(null); blank(collect()); // all of these return false blank(true); blank(false); blank(0);
这个辅助函数在结合表单验证、除去 API 中没有规范输入的数据时,特别有用。
它比 empty(trim())
更好用。
我们期待已久的辅助函数, 确定一个字符串中是否包含另一个字符串. 这个问题在 StackOverflow 和其他编程论坛上已经被问过很多次了, 因为目前在普通PHP程序中只能使用 strpos
use Illuminate\Support\Str; $contains = Str::contains('My name is Inigo Montoya.', 'Inigo'); // true $contains = Str::contains('My name is Inigo Montoya.', 'Andrew'); // false
문자열의 내용을 반환합니다. 지정된 문자열을 찾을 수 없으면 null
이 반환됩니다.
use Illuminate\Support\Arr; $array = [ ['website' => ['id' => 1, 'url' => 'reddit.com']], ['website' => ['id' => 2, 'url' => 'twitter.com']], ['website' => ['id' => 3, 'url' => 'dev.to']], ]; $names = Arr::pluck($array, 'website.url'); // ['reddit.com', 'twitter.com', 'dev.to']
()
또는 []
사이에서 정보를 가져오거나, URL의 특정 부분을 반환하거나, 심지어 html 태그에서 데이터를 구문 분석하는 이러한 방법을 좋아합니다.
blank()
Itempty()
와 거의 동일하지만 사용하는 것이 더 좋습니다. 전달한 매개변수에 실제 데이터가 포함되어 있는지 여부에 따라 부울 값을 반환합니다. $collection = collect(['Keys', 'Krates']); return $collection->map(function ($value) { return Str::upper($value); }); // ['KEYS', 'KRATES'] return $collection->filter(function ($value) { return strlen($value) > 4; }); // ['Krates']
empty(trim())
보다 사용하는 것이 좋습니다. 오랫동안 기다려온 도우미 함수인 문자열에 다른 문자열이 포함되어 있는지 확인합니다. 이 질문은 StackOverflow 및 기타 프로그래밍 포럼에서는 현재 일반 PHP 프로그램에서 strpos
만 사용할 수 있기 때문에 여러 번 요청을 받았습니다.
최근 rfc 승인으로, PHP는 곧 자체 str_contains 메소드를 가지게 될 것이며 이 메소드는 더 이상 사용되지 않게 될 것입니다. 하지만 그때까지는 Laravel에서 가장 유용한 도우미 함수 중 하나입니다.
Arr::pluck()이 메서드는 틀림없이 이 문서에 나열한 가장 강력한 메서드 중 하나인 Arr::pluck
다차원 배열을 반복하고 주어진 값에 대한 모든 값을 검색합니다. 열쇠. 간단한 예를 살펴보겠습니다.rrreee
배열과 점 표기법 문자열을 전달하여 원하는 키 값을 결정한 다음 다차원 배열을 반복하고 값의 1차원 배열을 반환합니다. 우리에게 지정된 키에 해당합니다. 🎜🎜나는 반환된 API 데이터에 대해 이 방법을 여러 번 사용했습니다(전체 컬렉션을 사용할 필요가 없다고 느꼈을 때). 전체 foreach 루프를 만들지 않고도 ID, 이름 또는 기타 속성의 배열을 얻는 것이 매우 쉽습니다. 🎜🎜🎜collect()🎜🎜🎜저는 컬렉션에 대해 알게 되면 절대 사용을 멈추지 않습니다. 이것은 아마도 제가 가장 많이 사용하고 있는 도우미 기능일 것입니다. 이 기능을 사용하면 🎜배열을 🎜세트🎜🎜로 변환할 수 있습니다. 🎜🎜이것이 왜 중요한가요? 컬렉션에는 수많은 🎜편리한 메서드🎜가 제공되므로 컬렉션을 함께 결합하여 가장 간단한 클로저 매개변수를 사용하여 배열에 대한 다양한 필터링, 정렬 및 수정 작업을 수행할 수 있습니다. foreach 루프도 없고 중간 변수도 없으며 코드만 정리하면 됩니다. 🎜🎜이 간단한 예를 보세요: 🎜rrreee🎜솔직히 이것은 컬렉션 빙산의 일각에 불과합니다. 저는 프로젝트에서 둘 다 사용합니다. 특히 데이터베이스 모델에서 제공되지 않는 크고 복잡한 데이터 세트를 처리할 때 더욱 그렇습니다. CSV 데이터, 외부 API 요청 및 디렉터리 구조는 모두 드롭 컬렉션에서 사용할 수 있습니다. 🎜🎜🎜이제 제가 아는 내용입니다! 🎜🎜🎜🎜원본 주소: https://dev.to/aschmelyun/my-favorite-laravel-helpers-and-how-to-use-them-28ij🎜🎜번역 주소: https://learnku.com/laravel /t/43776🎜
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !
위 내용은 [구성 및 공유] 여러 가지 실용적인 Laravel 보조 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!