76호. 라라벨 6.3 새기능 free

2019-10-21

라라벨 6.3이 릴리즈 되었습니다~ 새로 추가된 기능을 알아봅시다.


패스워드 재설정시 패스워드 덮어쓰는 기능 추가


모델에 setPasswordAttribute 같은 뮤테이터가 있으면 패스워드 재설정할 때 비밀번호 해싱이 두 번 되는 문제가 있어서 setUserPassword() 매서드를 추가했다고 합니다. 코드를 보고 열심히 머리를 굴려봤는데, 도대체 이 커밋이 문제를 어떻게 해결해준다는 건지 이해가 안되네요 ㅠㅠ


다형성 다대다 피벗 삭제시 이벤트 발생


Illuminate/Database/Eloquent/Relations/MorphPivot::delete() 매서드에 걸린 이벤트가 없었다고 하네요. 이제는 deletingdeleted 이벤트가 발생한다고 합니다.


배열 캐시 드라이버에 잠금(locking) 매커니즘 추가


라라벨은 캐시 원자 잠금장치 기능을 제공합니다. 이를 이용하면 경쟁 조건에 대한 걱정없이 분산 잠금장치(lock)를 조작할 수 있습니다. 하지만, 잠금 기능을 사용하려면 이를 지원하는 memcached, dynamodb, redis 캐시 드라이버를 사용해야 했습니다.


단위 테스트를 할 때는 memcached, dynamodb, redis를 실제로 사용하는 대신 배열 캐시 드라이버로 목킹을 하는 편이 훨씬 편리합니다. 하지만 배열 캐시 드라이버는 잠금 기능을 제공하지 않기 때문에 테스트나 애플리케이션이 잠금 기능을 사용하는 경우 배열 캐시 드라이버로 대체해서 사용할 수가 없었습니다.


이번 기능 추가로 캐시 잠금 기능을 사용하는 애플리케이션도 배열 캐시 드라이버로 편리하게 테스트할 수 있게 되었습니다.


SQL 서버 빌더에 dropAllViews 기능 추가


Illuminate\Database\Schema\SqlServerBuilderdropAllViews() 매서드를 오버라이드해서 SQL 서버 데이터베이스에서도 사용할 수 있게 됐습니다.


1일 1식 라라벨 76호

2019년 10월 21일

유료 구독자 전용 레터입니다.

한 달 1만원으로 매일 라라벨 관련 메일 받아보시고 과거 메일도 열람하세요. 일반 구독으로 공개글만 받아보실 수도 있습니다.

구독하기 버튼을 눌러주시면 구독과 동시에 xly에도 가입됩니다.

이현석

바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서를 쓰고, 클린 아키텍처 인 PHP를 번역했습니다. 2020년에 출간될 Laravel Up & Running 2nd Edition을 번역하고 있습니다.