Laravel 8 장점 - 파트 1

6080 단어 laravelphp
Laravel 8은 2020년 9월 8일에 출시될 새 버전입니다.

Taylor Otwell은 Laracon Online에서 Laravel 8의 많은 기능을 보여주었습니다.

나는 원래 당신이 참조할 수 있는 트위터 스레드를 만들었습니다 👇🏼





주바이르 모신










🧵 Laravel 8 goodies1- 모델 디렉토리 정보


오후 16:30 - 2020년 8월 26일









시작하자!

1- 모델 디렉토리



Laravel 8은 Models 디렉토리에 app 디렉토리를 포함합니다.

app/Models



Models 디렉토리가 있고 artisan make:model 명령을 실행하면 해당 디렉토리에 모델 클래스가 배치됩니다. 그러나 Models 디렉토리가 없으면 이전과 같이 Model 클래스를 app 디렉토리에 넣습니다.

2- 컨트롤러 라우터 네임스페이스



우리는 $namespaceRouteServiceProvider 부동산을 가지고 있었습니다.

protected $namespace = 'App\Http\Controllers';


Laravel 8에서는 이 하드 코딩된 값이 제거되어 컨트롤러의 네임스페이스를 완전히 제어할 수 있습니다.

This will not affect the upgrade process.



3- 경로 캐싱 개선


php artisan route:cache 명령은 프로덕션 성능에 매우 좋습니다. 경로 기반 캐시closure를 허용하지 않는다는 한 가지 문제가 있었습니다. 컨트롤러 기반 경로만을 의미했습니다. 하나closure 기반 경로가 있더라도 오류가 발생합니다. Laravel 8에서는 클로저 기반 경로도 캐시할 수 있습니다.

4- 블레이드 구성 요소 속성 개선



이러한 개선 사항은 특히 중첩 구성 요소와 관련이 있습니다.
예를 들어 button 구성 요소가 있습니다.

<button {{ $attributes }}>
   {{ $slot }}
</button>


우리는 그것을 확장하고 싶었습니다. dangerbutton 구성 요소:

<x-button {{ $attributes->merge(['class' => 'bg-red']) }}>
   {{ $slot }}
</x-button>


보시다시피 dangerbutton 구성 요소가 상위button 구성 요소에 자체 속성 클래스를 도입하고 있습니다. 확장 가능한 구성 요소를 만드는 데 도움이 되며 이제 Laravel 8에서 가능합니다.

5- 이벤트 리스닝의 사소한 개선



이전에는 이벤트를 수신해야 하는 경우 다음과 같이 했습니다.

Event::listen(OrderCreated::class, function(OrderCreated $event){
    info($event->whatever);
});


보시다시피 두 곳에서 이벤트(OrderCreated) 클래스를 제공하고 있습니다. Laravel 8에서 이 구문은 여전히 ​​유효합니다. 그러나 callable를 제공하고 듣고 싶은 이벤트를 입력할 수도 있습니다.

Event::listen(function(OrderCreated $event){
    info($event->whatever);
});


6- 대기 가능한 익명 이벤트 리스너



부팅 방법 내에서 모델 생성 이벤트 리스너의 예를 들어 보겠습니다.

protected static function booting()
{
    static::created(function(User $user){
         info($user->name)
    });
}


이전에는 이 수신기에 대한 방법이 없었습니다queue.
라라벨 8은 이러한 이벤트 리스너를 대기열에 추가할 수 있는 queueable이라는 최초의 네임스페이스 함수 😲를 도입했습니다.
확인 해봐:

use function Illuminate\Events\queueable; 😳

protected static function booting()
{
    static::created(queueable(function(User $user){
        info($user->name)
    }));
}


다음 부분에서는 Laravel 8에 제공되는 명령 개선 사항artisan down을 다룰 것입니다.

좋은 웹페이지 즐겨찾기