< 라라벨 6 새기능 >
https://laravel.kr/docs/6.x/releases
* 유의적 버젼 , Semantic Versioning
6.x 계열은 호환성이 유지됨
* Ignition 을 통한 향상된 에러 페이지
https://github.com/facade/ignition
* 개선된 권한 응답
- 권한 관련 에러 메시지 출력이 용이
https://laravel.kr/docs/6.x/authorization
* Job 미들웨어
큐에 들어간 job 이 실행될때, 그 전후를 감싸는 커스텀 로직을 추가
* 지연 컬렉션, LazyCollection
PHP 의 generators를 이용한, 적은 메모리 사용, 큰 데이타셋 작업
- 대용량 데이터 다루기
- 이전
$users = App\User::all()->filter(function ($user) {
return $user->id > 500;
});
- LazyCollection 적용 , cursor() 사용
$users = App\User::cursor()->filter(function ($user) {
return $user->id > 500;
});
* 엘로퀜트 서브쿼리 확장
https://laravel.kr/docs/6.x/eloquent#advanced-subqueries
* 라라벨 UI
이전의 프론트엔드 스캐폴딩이 laravel\ui 컴포저 패키지로 분리됨
* 라라벨 Vapor
오토스케일링 서버리스 개발 플랫폼'인 라라벨 Vapor 과 호환성을 제공
https://vapor.laravel.com/
//-------------------------------------------------------------------
* laravel 5.8 -> 6.0 으로 업그레이드
composer.json 수정
"require": {
"php": "^7.2",
"laravel/framework": "^6.0",
"mews/purifier": "^3.0", <=== 3.0 으로 변경
"laravel/helpers": "^1.2" <=== 추가
"require-dev": {
"phpunit/phpunit": "^8.0"
"nunomaduro/collision": "^3.0" <=== 추가
//----------------------------
* 업그레이드 명령
sudo systemctl stop nginx php7.3-fpm cron supervisor
sudo killall php7.3
composer update
sudo systemctl start nginx php7.3-fpm cron supervisor
//-----------------------------
* 에러 mcrypt extension 필요
- 해결방법
- ubuntu mcrypt 모듈 설치
sudo pecl install mcrypt-1.0.2
mcrypt.h not found. Please reinstall libmcrypt.
sudo apt install libmcrypt-dev libreadline-dev
/etc/php/7.3/fpm/php.ini 파일 수정
extension=mcrypt
서버 재시작
sudo systemctl restart nginx php7.3-fpm
//-----------------------------
* 에러 mews/purifier 2.1.0 requires illuminate/filesystem 5.0.*
- 해결방법
- composer.json 수정
"mews/purifier": "^3.0", <=== 3.0 으로 변경
//-----------------------------
* 에러 Call to undefined function str_slug()
- 해결방법
composer require laravel/helpers
//-------------
* 에러
Updating ezyang/htmlpurifier (v4.10.0 => v4.12.0): Update failed (Could not delete /vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/HTML/4.10.0,42d2529d2d2aa4f137a4d6d6292a92e3ee82eb86,1.ser: )
- 해결방법
sudo rm -fr ./vendor/ezyang
sudo chown www-data:www-data . -R
composer update
//---------------------------
* 경고 메시지
Package zendframework/zend-escaper is abandoned, you should avoid using it. Use laminas/laminas-escaper instead.
- 원인
PHPOffice/PHPWord 패키지에서 발생하는 문제
//----------------
라라벨 6.0으로 업그레이드 후 소감
의외로 5.8과 호환성이 좋다.
하는 김에 php 7.3-> 7.4로 업그레이드 하려고 했으나 의외로 7.4가 까다롭다.
'Code > PHP' 카테고리의 다른 글
[php] composer 1.10으로 업그레이드 후 dump-autoload 경고 메시지 (0) | 2020.03.11 |
---|---|
라라벨 7 새기능 (0) | 2020.03.10 |
[php] Extension 리스트 정리 (0) | 2020.03.09 |
[PHP] Enchant , 스펠링 체크 모듈 사용법 (0) | 2020.03.09 |
[php] html to ms word 변환 방법 (0) | 2020.03.04 |