HomeBrew에서 살펴본 PHP7 Extensions

brew search php70 HomeBrew에서 PHP7.0 관련 패키지를 보다가 각 패키지의 사용률이 궁금해졌습니다. 찾아보니 Bintray라는 사이트에서 전체 값인지 모르겠지만 brew 관련 패키지의 통계를 제공하는 것을 알 수 있었습니다. https://bintray.com/homebrew/bottles-php 2016년 5월 18일 기준으로 41개가 등록되어있습니다. 순서대로 패키지 이름, 최신 업데이트 날짜,...

'==' 연산자를 사용하면 안되는 이유

보통 ==를 사용하기보다는 ===를 사용하라고 합니다. 왜 그럴까요? 예시1. 0과 false 때문에 발생하는 문제. <?php '' == false; // true false == 0; // true 0 == '0'; // true '0' == ''; // false 예시2. “0000”에서 발생하는 문제. <?php...

PHP Config는 무엇을 사용해야할까?

저는 주로 Config를 PHP 코드를 사용하는데요, 보통 다음과 같이 사용합니다. <?php return [ 'database' => [ 'username' => 'hello', 'password' => 'hello pass', ], ]; 그런데!!! Modern PUG에서 아주 재밌는 글을 읽었습니다. Config를 위와 같은 형태로 사용할 경우 PHP 해석기의...

Jekyll에 Mathjax 추가하기

수학공식을 어떻게 블로그에 표현할까 고민하다가 MathJax 라는 도구가 있는 것을 발견했습니다. 엄청 유명한데 저만 몰랐나 봅니다. www.mathjax.org 사이트 메인에 있는 저 공식도 실제로 드래그 해보면 드래그가 됩니다. Jekyll 블로그에 적용하는 것도 쉽습니다. 그냥 소스 한줄 드래그 스륵 하고 _layout에 한줄만...

PHPStorm 환경에서 Mess Detector, Code Sniffer 설정하기

Composer(이하, 컴포저)를 일단 Global 환경에서 사용해야합니다. 해당 내용은 예전에 한번 이야기 한적이 있습니다. 다음 링크를 참조하시기 바랍니다. (조금 옛날 글이네요..) Composer Global로 사용하기 위 글에서, 그대로 따라할 필요는 없고, 그냥 저런 내용이 있다는 것을 참고만 하시면 됩니다. 우선, Mess Detector와...

초간단 OSX El Capitan에서 Laravel 개발환경 구축

Laravel(이하 라라벨) 개발자분들은 대부분 Homestead환경에서 개발하실 것입니다. 근데 사용하다 보니 테스트케이스가 너무 많아서 테스트 하는데만 3분이란 시간이 걸렸고, Virtual Box의 Linux가 가끔 커널 패닉을 일으켜서 다시 실행하는 경우가 가끔 생겼었습니다. 그래서 OSX에 직접 라라벨 환경을 구축해야겠다는 생각이 들었습니다. Home Brew...

Alias PHP Built-in Server

웹을 자주 개발하면서 테스트용으로 PHP built-in Server(이하 빌트인서버)를 사용하는 일이 많습니다. 빌트인서버의 이점은 PHP를 여러개 깔아놓고 Brew로 스위치하면서 여러가지 버전을 확인할 수 있다는 점, Apache나 Nginx를 같이 사용한다면 해당 설정의 Rewrite도 살짝 만져야 하는 번거로움이 없다는 점, 항상 테스트 주소를...

Wandu DI를 이용한 레거시 리팩토링

몇일전 Modern PHP User Group(MoernPUG) 모임에서 재미있는 이야기가 하나가 나왔습니다. 오래된 소스를 리팩토링을 하는데 의존성 주입을 일일이 해야하는지 이야기 하더군요. 그래서 Wandu DI 패키지를 활용하면 쉽게 해결이 될 것 같아 글을 적어보기로 했습니다. DI? 일단은 DI(Dependency Injection)라는 개념을 조금은 알아두어야...

Wandu Template

PHP라는 언어 자체가 원래 시작이 템플릿 언어에서 시작해서 그런지 오래된 소스코드를 보면 템플릿을 별도로 사용한다기 보다는 그냥 HTML 중간중간에 삽입해서 사용하고 있습니다. PHP:The Right Way에서도 템플릿 관련 내용을 다루고 있는 것으로 봐서는 아무래도 오래된 PHP에서는 템플릿을 별로 사용하지 않아서 저런...

Reflection을 활용한 Closure Mockery

ModernPUG모임에서 발표한 내용으로서 발표자료와 소스코드는 다음 링크에서 확인할 수 있습니다. ModernPUG May, 2015 : Mockery, Reflection, 성공적 지난번에는 Reflection을 Private Method를 테스트하는 방법에 대해 이야기 했었습니다. 오늘은 지난번 했던 내용을 조금 더 심층화 시켜서 Closure를 Mocking하는 방법에 대해 이야기 해보도록...