Laravel의 5.8 흥미로운 새 기능을 확인하세요
게시 됨: 2022-01-022011년 Taylor Otwell이 만든 뛰어난 PHP 프레임워크인 Laravel은 모든 PHP 프레임워크 중에서 최고입니다. 그것은 접근 가능하고 강력하고 강력하며 몇 가지 놀라운 응용 프로그램을 구성합니다.
이 PHP 프레임워크를 통해 개발자는 복잡한 기능을 추상화하는 MVC 패턴을 구현할 수 있습니다. 업데이트는 필수적이며 애플리케이션 수명 주기를 개선하기 위한 것입니다.
라라벨은 대략 5~6개월에 한 번씩 업데이트를 출시하는데, 올해도 라라벨은 5.8 버전(19년 3월)을 출시해 아직 사용할 수 없습니다. Laravel 개발자를 고용하여 작업을 가장 빨리 완료할 수 있습니다.
이전 버전의 지속적인 개선은 개발자에게 흥미로운 기능을 제공했습니다. 이 새 버전이 제공할 놀라운 기능 중 일부를 살짝 살펴보겠습니다.
- 자동화된 정책 해결
- 카본 2.0 지원
- Has-one-through Eloquent 관계
- 토큰 보호 및 해싱
- 캐시 TTL
- 스케줄러 시간대 구성
- 장인:: 통화 개선
- 모의/스파이 테스팅 도우미 메서드
- 장인 서비스 개선
- 고차 웅변법
- 도텐브 3.0
- 새로운 오류 처리 템플릿
자동화된 정책 해결:
이전 Laravel 버전에는 비 전통적인 위치에 모델 또는 정책이 있었고 AuthServiceProvider 클래스에 등록해야 했습니다. 이 버전에서 모델과 정책은 기존 위치에 저장됩니다.
더 이상 모델의 권한 부여 정책을 수동으로 등록할 필요가 없습니다. 이 새 버전은 표준 Laravel 명명 규칙에 따라 정책을 자동으로 검색합니다.
등록하려는 정책이 다른 위치에 있는 경우 다음을 사용하여 콜백을 등록하십시오.
Gate::guessPolicyNamesUsing .
다음과 같은 방법으로 AuthServiceProvider의 부스 메서드에서 이 메서드를 호출할 수 있습니다.
Illuminate\Support\Facades\Gate를 사용하십시오.
Gate::guessPolicyNamesUsing(함수($modelClass) {
// 정책 클래스 이름 반환...
});
탄소 2.0 지원:
개발자에게 희소식입니다. 이제 응용 프로그램에서 CarbonImmutable을 기본값으로 사용하도록 만들 수 있습니다.
이 패키지는 PHP의 날짜 및 시간 클래스를 확장하고 날짜 및 시간 작업을 매우 쉽게 만듭니다. 클래스 선택은 사용자에 따라 다릅니다.
HasOneThrough Eloquent 관계:
이 새로운 기능은 Rails에서 제공하는 기능과 거의 유사합니다. 예를 들어 공급자, 계정 및 계정 기록 모델의 세 가지 모델이 있다고 가정해 보겠습니다. 간단히 말해서 공급업체에는 계정이 있고 계정에는 하나의 계정 이력이 있습니다.
이전 버전에서는 계정 기록을 얻기 위해 $supplier->account->accountHistory를 작성했습니다. 하지만 이제 이 웅변적인 관계를 통해
$history = $supplier->accountHistory
전체 계정 모델에서
공개 함수 accountHistory()
{
$this->hasOneThrough(AccountHistory::class, Account::class);
}
토큰 가드 토큰 해싱:
토큰 가드 기능을 사용하여 이제 API 토큰을 SHA-256 해시로 저장할 수 있습니다. 이전에 API의 토큰은 이제 개선된 일반 텍스트 토큰으로 저장되었습니다. 이는 생성된 토큰의 보안 및 저장을 강화했습니다.
캐시 TTL:
분에서 캐싱 설정이 이제 초로 변경되었습니다. 이 개선은 만료 시간에 대한 보다 정확하고 세분화된 제어를 위해 수행됩니다. 이 기능은 PSR-16 캐싱 라이브러리 표준을 따릅니다.
또한 애플리케이션 캐싱을 초 단위로 업데이트해야 한다는 사실을 항상 기억하십시오.
// Laravel 5.7 - 5분 동안 항목 저장...
캐시::put('foo', 'bar', 10);
// Laravel 5.8 - 5초 동안 항목 저장...
캐시::put('foo', 'bar', 10);
스케줄러 시간대 구성:
이 새 버전의 Laravel에서는 timezone 메서드를 사용하여 나열된 작업의 시간대를 사용자 지정할 수 있습니다.

$schedule->command('실행')
->매일()
->at('15:00')
->timezone('미국/시카고');
이것은 모든 예약된 작업에 대해 수행해야 하므로 이전 버전에서는 번거로운 작업으로 간주되었습니다. 하지만 이제 app/Console/Kernel.php 파일에 ScheduleTimezone이라는 메서드를 정의하기만 하면 됩니다.
변경 사항은 목록의 모든 스케줄러에 첨부됩니다.
/**
* 예약된 이벤트에 기본적으로 사용해야 하는 시간대를 가져옵니다.
*
* @return \DateTimeZone|문자열|널
*/
보호된 기능 scheduleTimezone()
{
반환 '미국/시카고';
}
장인 호출 개선 사항:
이 새 버전에서는 Artisan::call 메소드를 사용하여 Artisan 명령을 만들 수 있습니다. 이제 명령은 아래와 같이 단일 문자열의 배열로 전달할 수 있습니다.
장인::call('이전:설치 --database=foo');장인 서비스 개선 사항:
이전 버전에는 응용 프로그램이 실행될 기본 포트가 8000으로 할당되었습니다. 그리고 이 포트에서 다른 명령이 실행 중인 경우 새 명령을 제공하지 못할 수 있습니다.
새 버전은 최대 8009 포트를 스캔하여 개발자가 동시에 여러 애플리케이션을 실행할 수 있도록 합니다.
모의/스파이 테스팅 도우미 메서드:
모의 테스트는 개발자가 코드를 더 깔끔하고 읽기 쉽게 만드는 데만 도움이 됩니다. 모의 및 스파이 메서드는 기본 Laravel 테스트 케이스 클래스에 추가됩니다. 이 메서드는 컨테이너와 함께 조롱할 클래스를 자동으로 바인딩합니다.
공개 함수 testBasicTest()
{
$this->mock(TransactionService::class, function($mock){
$mock->shouldReceive('찾기')->once()->with(1)->andReturn(['id' => 1, 'name' => 'foo'])
});
}
고차 또는 웅변적인 방법:
이전 버전에서는 클로저 콜백에서 "또는"을 사용하여 범위 쿼리를 정의했습니다. "고차" 또는 Where 메서드의 도입으로 클로저를 사용하지 않고도 이러한 범위 쿼리를 집합적으로 쉽게 연결할 수 있습니다. 예를 들어:
$users = App\User::emailVerified()->orWhere->active()->get();
도텐v 3.0:
프로젝트의 새 .env 파일을 관리하기 위해 Laravel 5.8은 새로운 dotenv 3.0을 지원합니다. 이 새로운 dotenv 3.0은 여러 줄 문자열과 문자열 끝의 공백을 지원합니다. 이 기능은 보안을 위해 여러 줄 API 키가 필요한 경우에 큰 도움이 됩니다.
새 오류 페이지 템플릿:
새로운 오류 페이지는 다양한 웹사이트와 앱에 적합한 매우 미니멀한 디자인으로 도입되었습니다. 오류 페이지를 사용자 정의하거나 이전에 설계된 오류 페이지를 가져올 수도 있습니다.
애플리케이션 개발을 위한 많은 Laravel 개발 회사가 있습니다. 이 새 버전은 몇 가지 놀라운 기능의 보물창고입니다. 위의 내용은 새로운 Laravel 5.8 버전에서 확장된 몇 가지 주목할만한 개선 사항과 기능을 나열했습니다.
일부 기능은 웹사이트에 원활하게 통합되어 보다 기능적이고 사용자 친화적으로 만들 수 있습니다.
실행 중인 애플리케이션을 Laravel 버전 5.8로 업그레이드하려면 공식 사이트에서 업그레이드 가이드와 릴리스 정보를 확인하세요.
