Laravel 의 새로운 major 버전인 5.6 버전이 한국시간 2018-02-08 새벽 0시 36분에 Release 되었습니다. 이번 버전에는 어떠한 변경사항들이 있는지 살펴보도록 하겠습니다. 모든 변경사항은 changelog(Github) 를 참고하시기 바랍니다. 또한 5.6 버전으로 업데이트를 하실 경우 Laravel 공식 홈페이지에 있는 마이그레이션 가이드를 참고하시기 바랍니다.PHP 지원 버전 변경Laravel 5.6 버전부터는 PHP 7.1.3 버전 이상만 지원하도록 변경되었습니다. 지난 Laravel 5.5 버전부터 PHP 7 버전 이상부터 지원하도록 변경되었으며, 버전 변경 이유는 뒤에 소개하겠지만 의존하는 sympony 프레임워크의 버전업데이트로 발생한듯 합니다.의존성 패키지 변화Lar..
이 글은 Docker와 docker-compose를 알고 있다는 전제하에 설명을 하고 있습니다.Docker 가 생소하다면 여기 김충섭 님의 글을 먼저 읽어 보시길 추천합니다.Docker 는 리눅스 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. Docker 를 이용하면 로컬 개발 환경을 다른 사람과 동일하게 구성할 수 있으며, 이걸 그대로 서비스에 올릴 수 있다는게 가장 큰 장점 뽑을 수 있습니다. Laravel은 이러한 로컬 개발 환경을 위해 Homestead / Valet 같은 환경을 같이 제공해 줍니다. 즉 Docker 를 사용하지 않아도 훌륭한 로컬 개발 환경을 구축 할 수 있습니다. 하지만 실제 서비스 환경까지 생각한다면 Docker 는 좋은 선택이 될 수 있습니다. Laravel 로 프로젝트를 ..
프로그래밍 언어를 공부하다보면 Modern이라는 키워드가 자주 등장합니다. 사전적인 의미로 현대적인 라는 의미로 최신이라는 의미가 내포되어 있습니다. 현대적인 라는 말은 과거 / 현재의 비교가 필요합니다. 즉 before & after가 필요하다는 얘기입니다. 그럼 현재 얘기되고 있는 Modern PHP란 무엇일까요? 이 글은 아래의 내용들을 참고하여 작성하였습니다.(피드백은 언제나 환영입니다.) - PHP THE RIGHT WAY- 2016 GDG Incheon 8월 전창완님 발표자료- Modern PHP(도서)- ModernPUG wiki - 모던의 의미 PHP의 과거와 현재앞서 Modern이라는 용어를 얘기하기 위해서는 과거와 현재가 비교되어야 한다고 했었습니다.그래서 아주 간단하게 PHP의 변화에..
Laravel 5.5 Release가 2017년 7월인 다음달로 예정되어있습니다. 정식 배포전 5.5버전에서 변경되는 사항들을 정리하였습니다. (해당 포스트의 정보는 laravel news에 있는 내용들을 정리하였습니다.)저작권에 문제가 될 경우 삭제하도록 하겠습니다. 1. LTS 버전 변경현재 laravel의 LTS(Long Term Supported)버전은 5.1입니다. 이전 5.1버전과 마찬가지로 2년간 버그 픽스와 3년간 보안 업데이트가 이루어질 예정이라고 합니다.현재 서비스에서 5.1 버전으로 유지하고 계신분들은 5.5로 버전 업데이트 생각도 해보시는게 좋을듯 합니다. 그전에 다음 변경사항을 꼭 참고하시는게 좋을것 같네요. 2. PHP7.0 이상부터 지원Laravel 개발자인 Taylor가 la..
프로젝트 진행중 갑작스럽게 특정페이지에서 500error가 발생되어 당황했었는데, php error로그에 아래와 같은 에러가 발생하고있었다.Fatal error: Maximum function nesting level of 'xxx' reached 조금 찾아보니 xdebug를 활성화시 아래의 설정값과 연관되어 발생한 에러로 재귀함수로 인한 무한루프를 보호하는 값이다. php.ini에서 해당 값을 조금 변경해서 해결하였는데 템플릿 구문에서 루프문이 재귀 100번을 넘겼다고하니.. 개선이 필요할듯 하다..아래는 xdebug에서 찾은 설명이다.xdebug.max_nesting_levelType: integer, Default value: 256Controls the protection mechanism for..
Laravel 5.4이 한국 시간 2017-01-24일 오후 4시에 Composer에 Release 되었습니다.이 포스트는 Laravel new의 Laravel 5.4 Is Now Released 글을 번역한 내용입니다. 문제 될 경우 바로 삭제하도록 하겠습니다.Laravel DuskLaravel Dusk는 JavaScript Application을 위한 브라우저 테스트 도구입니다. Laravel Dusk는 상호 작용에 의한 올바른 페이지 테스트에 초점이 잡혀 있으며, Dusk를 이용하여 클릭 버튼 / 링크, 양식, 드래그 앤 드롭과 같은 용도로 사용할 수 있습니다. Dusk는 ChromeDriver와 Facebook Php-webdriver를 테스트에 사용합니다. 모든 Selenium 브라우저에서 작동..
Composer(이하 컴포저)는 PHP에서 사용하는 의존성 관리도구입니다. 컴포저를 이용하면 프로젝트에서 사용하는 라이브러리들을 선언하고 의존성을 해결해주며 설치까지 해줍니다. Node.JS의 NPM, ruby의 bundler, gem 같은 패키지 관리 도구와 비슷하며 실제로 컴포저는 NPM과 bundler에서 영감을 얻었다고 합니다.컴포저는 패키지 관리도구라고 하지 않으며 의존성 관리도구라고 합니다. 컴포저로 해결되는 문제는 아래와 같습니다. - 여러 라이브러리에 의존하는 프로젝트일 경우.- 이러한 라이브러리들은 또다른 라이브러리를 필요 합니다.- 이때 필요한 의존 관계의 라이브러리들을 지정할 수 있습니다.- 컴포저는 패키지가 설치되어야 하는 버전을 찾아, 알맞은 버전의 패키지들과 의존 패키지들을 설치..
PHP Standard Recommendation국내에서는 아직도 많은 기업과 개발자들이 PHP를 이용하여 웹 개발을 하고있습니다. PHP는 JAVA나 Python 같은 언어에 비해 구식의 스타일을 쓰는 경향이 많다보니 이것을 개선할려는 움직임으로 Modern PHP이 강조되고 있는데, 이 Modern php 권고 사항으로 psr이 포함되어 있습니다.(modern php에 관련하여 궁금하실 경우 해당 링크에서 확인하시면 자세한 내용을 확인하실 수 있습니다. 링크) 그럼 psr이 도대체 무엇일까요?psr은 PHP-FIG (PHP Framework Interop Group) 이 주도하여 제안한 PHP 표준 권장안입니다. 즉 Code Convention 중 하나입니다.최근에 나오는 Modern php 프레임워..
이전 포스트에서는 수동으로 Apache / Mysql / Php 를 셋팅하는 방법에 대해 포스트를 했었습니다. 만약 수동으로 Php 개발 셋팅을 하셨다면 해당 포스트를 확인하여 Apache와 Mysql 서비스 제거를 하신 후 MAMP를 설치하여 주시기 바랍니다. Windows에서 Apache / Mysql 서비스제거 이번 포스트에서는 수동이 아닌 프로그램 설치 한번으로 PHP 개발 환경을 구축 하도록 하겠습니다. 예전에는 APMSetup이라는 프로그램을 이용하여 PHP 개발 환경을 한번에 설치가 가능했는데 APMSetup의 경우 더 이상 업데이트가 되지 않아 php7도 지원이 안되며 windows10에서도 설치가 불가능합니다. 이러한 불편함을 없애고자 찾아보니 MAMP라는 프로그램을 이용하면 php / ..
Window에서 Apache, Mysql 서비스 제거하기 이번 포스트는 윈도우에서 수동으로 설치했던 Apache와 Mysql을 제거 하기 위해 서비스를 제거하는 방법을 알아볼까 합니다.제거할려는 이유는 예전에는 APMSetup이라는 프로그램을 이용하여 Apache와 Mysql을 쉽게 컨트롤 할 수 있었는데, 현재 APMSetup은 업데이트가 안되어서 php5버전만 사용이 가능합니다만MAPM이라는 프로그램을 이용하면 Apache와 Nginx까지 쉽게 컨트롤 가능하며 php버전도 자유롭게 변경이 가능하여다음 포스트에서는 MAMP를 이용한 php 개발 환경을 셋팅하고자 합니다. 그럼 Apache와 Mysql의 서비스를 제거하는 방법을 알아볼까요?1.Apache 서비스 제거Apache가 설치된 폴더로 cmd창을..