[구성 및 공유] 여러 가지 실용적인 Laravel 보조 기능

青灯夜游
풀어 주다: 2022-12-28 21:01:06
앞으로
1668명이 탐색했습니다.

저는 주로 Laravel을 사용하는 PHP 풀스택 개발자로서, 개발 시간을 효과적으로 단축하거나 코드 복잡성을 줄이기 위해 사용할 수 있는 일부 프레임워크의 메서드를 자주 찾을 것입니다. 다음은 제가 일상생활에서 자주 사용하는 좋은 보조방법들을 정리한 것입니다. 알아봅시다 ✨

[구성 및 공유] 여러 가지 실용적인 Laravel 보조 기능

이 글의 대부분의 메소드는 Laravel7 및 이전 버전을 기반으로 합니다. (문제가 발생하면 버전 호환성 문제인지 먼저 확인하세요.)

Str::limit()

첫 번째 도우미 함수 문자열을 가져와 설정된 문자 길이 제한으로 자릅니다 . 두 가지 필수 매개 변수, 즉 잘라내려는 문자열과 반환된 잘린 문자열의 문자 길이 제한이 필요합니다. [관련 권장사항: 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 [...]
로그인 후 복사

긴 텍스트 블록을 요약으로 단축하거나 기사 목록에 대한 게시물 미리보기에 적합하다고 생각합니다.

head()

이 기능은 굉장합니다. 간단한 메소드는 일반적으로 여러 개의 중첩된 기본 PHP 함수로 구성되며, head()는 배열의 첫 번째 요소를 반환합니다. 글로벌하고 유비쿼터스적인 특성으로 인해 다양한 응용 프로그램에서 사용해 왔습니다.

$array = [100, 200, 300];

$first = head($array);

// 100
로그인 후 복사

반대로 하고 싶으신가요? 배열의 마지막 요소를 가져오려면 last 메서드를 사용하세요. last方法可以获取数组的最后一个元素。

$array = [100, 200, 300];

$last = last($array);

// 300
로그인 후 복사

这是关于使用head和last方法的最佳方法,因为它们根本不影响原始数组。

Str::between()

顾名思义, Str::between() 会 返回字符串中的内容。如果没有找到指定字符串,返回 null

use Illuminate\Support\Str;

$slice = Str::between('My name is Inigo Montoya.', 'My name is ', '.');

// 'Inigo Montoya'
로그인 후 복사

我喜欢用这种方式从 ()[] 之间获取信息、返回 url 中的特定部分、甚至是从 html 标签中解析数据。

blank()

它 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()) 更好用。

Str::contains()

我们期待已久的辅助函数, 确定一个字符串中是否包含另一个字符串. 这个问题在 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
로그인 후 복사
이것은 원본 배열에 전혀 영향을 주지 않기 때문에 head 및 last 메서드 사용에 관한 가장 좋은 접근 방식입니다.

Str::between()

이름에서 알 수 있듯이 Str::between()은

문자열의 내용을 반환합니다. 지정된 문자열을 찾을 수 없으면 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()

It

empty()와 거의 동일하지만 사용하는 것이 더 좋습니다. 전달한 매개변수에 실제 데이터가 포함되어 있는지 여부에 따라 부울 값을 반환합니다.
$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']
로그인 후 복사

이 도우미 기능은 양식 유효성 검사 및 API에 입력되지 않은 데이터 제거와 결합될 때 특히 유용합니다.
empty(trim())보다 사용하는 것이 좋습니다.

Str::contains()

오랫동안 기다려온 도우미 함수인

문자열에 다른 문자열이 포함되어 있는지 확인합니다. 이 질문은 StackOverflow 및 기타 프로그래밍 포럼에서는 현재 일반 PHP 프로그램에서 strpos만 사용할 수 있기 때문에 여러 번 요청을 받았습니다.

rrreee

최근 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿