1. Laravel IDE Helper Laravel IDE Helper는 PHP IDE에서 Laravel의 Facade, 모델, 컨트롤러 등의 메소드와 속성을 자동으로 완성하게 해주는 도구입니다. IDE Helper를 사용하면 Laravel의 코드를 작성하는 데 매우 편리합니다. https://packagist.org/packages/barryvdh/laravel-ide-helper 2. Laravel Debugbar Laravel Debugbar는 개발자가 Laravel 애플리케이션의 디버깅을 쉽게 할 수 있도록 도와주는 패키지입니다. Debugbar를 사용하면 애플리케이션의 성능, SQL 쿼리, 메모리 사용 등의 정보를 쉽게 확인할 수 있습니다. https://packagist.org/package..
라라벨 모던하게 DTO 사용하기 (feat: Laravel Spring) 필요패키지 : # laravel-data $ composer require spatie/laravel-data $ php artisan vendor:publish --provider="Spatie\LaravelData\LaravelDataServiceProvider" --tag="data-config" # laravel-route-attributes $ composer require spatie/laravel-route-attributes $ php artisan vendor:publish --provider="Spatie\RouteAttributes\RouteAttributesServiceProvider" --tag="config..
Laravel Swagger 쉽게 적용하기 (feat. vyuldashev/laravel-openapi 패키지 ) PHP에서 Swagger를 적용하면 코드보다 더 길은 주석을 보게 될 것이다. 물론 Phpstorm에 플러그인을 달면 좀 편하게 쓸 수는 있지만, 이러한 단순 노가다를 하면서, 우리는 한 번쯤 이런 생각을 한다. ( 뭐 자동화나 클래스로 하는 방법은 없을까? ) PHP 쪽에도 이러한 움직임이 아예 없지는 않다. 그중 필자가 추천하는 패키지는 아래와 같다. https://vyuldashev.github.io/laravel-openapi/ 필자가 해당 패키지를 선택한 이유 1. 문서 작성을 주석에 의존하지 않고 재활용이 가능했으면 좋겠다. 2. 커스텀이 자유로웠으면 좋겠다 위에 2가지가 모두 부..
Laravel 개발 시 설치하면 개발 능률이 올라가는 composer 리스트다. 원래 정리해뒀던 목록에 현재 기준 설명과 대안을 덧붙인다.디버깅Laravel DebugbarSQL, route, session 등등을 확인할 수 있다. 실행된 쿼리 수가 화면 하단에 표시돼서 N+1을 잡을 때 가장 유용하다.composer require barryvdh/laravel-debugbar --dev--dev를 반드시 붙인다. 운영에 켜져 있으면 쿼리와 환경 변수가 그대로 노출된다.요즘은 Laravel Telescope도 같이 볼 만하다. Debugbar가 현재 요청을 화면에 띄운다면, Telescope는 요청·잡·예외·메일을 별도 대시보드에 기록해서 나중에 조회할 수 있다. API 서버라면 Telescope가 더 ..
사용자가 올린 이미지를 그대로 저장하면 문제가 금방 생긴다. 요즘 폰 사진은 한 장에 5MB를 넘고, 목록 화면에서 원본을 그대로 뿌리면 로딩이 느려진다. 세로로 찍은 사진이 가로로 뒤집혀 보이는 문제도 흔하다.Laravel에서 이미지를 다룰 때 표준처럼 쓰이는 게 Intervention Image다. 리사이즈, 크롭, 회전, 워터마크, 포맷 변환을 전부 지원한다.설치composer require intervention/imagev2와 v3의 사용법이 꽤 다르다. 신규 프로젝트라면 v3를 쓰는 게 좋다.v2 (레거시)v2는 서비스 프로바이더와 파사드를 수동 등록해야 했다.// config/app.php'providers' => [ Intervention\Image\ImageServiceProvide..
IDE로 Laravel을 개발할 경우 자동완성 및 goto 기능을 지원해주는 패키지다. 파사드와 Eloquent 매직 메서드 때문에 IDE가 타입을 못 잡는 문제를 해결해준다.왜 필요한가Laravel은 편의성을 위해 PHP의 동적 기능을 적극적으로 쓴다. 문제는 IDE가 정적 분석으로 타입을 추론하는데, 이런 코드는 분석이 안 된다는 점이다.파사드 — Auth::user() 는 실제로 __callStatic으로 뒤에서 인스턴스에 위임한다. IDE는 Auth 클래스에 user()가 없다고 본다Eloquent 매직 메서드 — User::where() 는 모델이 아니라 쿼리 빌더의 메서드다모델 속성 — $user->email 은 DB 컬럼이라 클래스에 프로퍼티 선언이 없다매크로 — 런타임에 등록되는 메서드ID..
