# 도커로 PHP 개발환경 만들기 # 목표- PHP 로 index.php에서 단순히 hello world로 찍기 위해서는 할 것이 많습니다. 거기에 DB에 redis라도 설치하면 하루를 뚝딱 넘기기도 합니다.물론 요즘은 wamp 나 오토셋 같은 툴들이 있어서 한번에 처리하는 방법도 있지만 요즘 트렌드에 맞게, 도커를 활용하여서 구축해보려고합니다.- 이번에 도커로 만들 개발환경은 laravel5.6 최소사양 + redis + memcached + mysql5.7 입니다. # 구조대부분의 개발환경을 보면 한 폴더안에 제작중인 PHP 프로젝트들을 몰아놓고 개발하실 것입니다.ex) 프로젝트1 프로젝트2가 있다면root folder - prj1 - prj2이런식의 구조- 하나의 docker-compose 로 모든..
개발자는 도구만 잘 써도 생산성이 배로 올라간다. PHP의 대표적인 IDE인 PhpStorm은 기능이 워낙 많아서, 설치해놓고 메모장처럼만 쓰는 경우가 의외로 많다.가장 좋은 학습 자료는 Laracasts의 무료 시리즈다.How to Be Awesome in PhpStorm여기서는 그중에서도 익히면 체감이 확 오는 것들만 추려본다.1. 이동 관련 단축키 (이것만 외워도 절반)마우스로 파일 트리를 뒤지는 시간이 하루에 얼마나 되는지 생각해보면, 여기가 가장 효율이 좋다.Shift Shift — Search Everywhere. 파일·클래스·설정·액션 전부 검색Cmd/Ctrl + B — 정의로 이동. 메서드 이름에서 누르면 구현부로Cmd/Ctrl + Alt + B — 구현체로 이동. 인터페이스에서 실제 구현..
IDE로 Laravel을 개발할 경우 자동완성 및 goto 기능을 지원해주는 패키지다. 파사드와 Eloquent 매직 메서드 때문에 IDE가 타입을 못 잡는 문제를 해결해준다.왜 필요한가Laravel은 편의성을 위해 PHP의 동적 기능을 적극적으로 쓴다. 문제는 IDE가 정적 분석으로 타입을 추론하는데, 이런 코드는 분석이 안 된다는 점이다.파사드 — Auth::user() 는 실제로 __callStatic으로 뒤에서 인스턴스에 위임한다. IDE는 Auth 클래스에 user()가 없다고 본다Eloquent 매직 메서드 — User::where() 는 모델이 아니라 쿼리 빌더의 메서드다모델 속성 — $user->email 은 DB 컬럼이라 클래스에 프로퍼티 선언이 없다매크로 — 런타임에 등록되는 메서드ID..
# Ubuntu 16.04 / PHP 7.2 설치 (아마존 AWS EC2 생성 직후 PHP 설치하기) # GIT 주소GIT : https://github.com/yousung/ubuntu16.04-php7.2-install # 사용방법 wget https://raw.githubusercontent.com/yousung/ubuntu16.04-php7.2-install/master/script/install-php7.2.sh adduser user-id usermod -G www-data user-id id user-id // uid=xxx(user-id) gid=xxx(user-id) groups=xxx(user-id),xx(www-data) sudo -s bash install-php7.2.sh user..
개발자 중에서 SEO가 뭔지도 모르는 사람도 많고, 왜 자기가 만든 사이트가 검색 엔진에 노출이 안 되는지도 모르는 사람이 많다. 설사 그 이유를 알더라도 SEO의 복잡성과 생각해야 할 게 많아서 힘들어하는 분들도 많다.여기서는 Laravel에서 SEO를 쉽게 적용시키는 패키지를 소개한다.설치composer require artesaos/seotoolsLaravel 5.5부터는 패키지 자동 등록이 되므로 config/app.php 수정 없이 바로 쓸 수 있다. 수동 등록이 필요한 구버전이라면 아래처럼 넣는다.// config/app.php'providers' => [ Artesaos\SEOTools\Providers\SEOToolsServiceProvider::class,],'aliases' => [..
기존의 Alert을 스윗하게 해주는 Sweet Alert 라라벨 버전 # Composer Install$ composer require uxweb/sweet-alert # config/app.php 설정 'providers' => [ UxWeb\SweetAlert\SweetAlertServiceProvider::class, ]; 'aliases' => [ 'Alert' => UxWeb\SweetAlert\SweetAlert::class, ]; # yarn & npm install $ yarn add sweetalert --dev // &npm install sweetalert --save-dev #customize $ php artisan vendor:publish --provider "UxWeb\Swe..
