본문 바로가기

IT/Hot Issue, Services

PHP 6.0

* 디토군님의 블로그에서 보고 씁니다.

드디어 php6에 대한 논의가 이루어지는 모양이다. (실은 2005년 말부터라고..-_-)
php4에서 php5로 넘어가면서 가장 크게 달라진 점이라면 완벽한 OOP의 지원일 것이다. php4에서도 부분적으로는 지원하고 있으나 버그도 많고 불완전한 형태여서 아직까지는 많은 웹어플리케이션들이 이를 제대로 활용하고 있지 못했고, 이제서야 Symfony와 같은 프레임웍들이 본격적으로 php5 전용으로 개발되고 있다. (아직도 배포용 웹어플리케이션은 하위호환성을 지켜야 하는 것이 현실이나 프레임웍처럼 CMS 수준의 사이트 단위로 쓰이는 것들은 하위호환성을 깨기 시작했다.)

그런 와중에 들려온 php6은 더욱 기대가 된다. 우선 내 입장에서 가장 크게 반기는 것이라면,
  • register_globals, magic_quotes, safe_mode가 마침내 사라진다.
  • 64비트 정수 추가
  • 유니코드 지원 추가
  • ?: 연산자의 추가 - $a ?: $b$a ? $a : $b와 같은 동작을 한다.
  • 문자열에서 문자를 액세스할 때 {}와 []를 쓸 수 있던 것을 []로 통일하고, []에 범위를 쓸 수 있다. (substr() / array_slice() 처럼)
  • 이름 공간(namespace) 추가
  • 메소드의 리턴 타입 힌팅 추가
  • microtime()이 문자열이 아닌 float를 리턴한다.
등이 있겠다. (자세한 건 디토군님의 블로그 참조)
특히 sql injection 등을 막기 위해 mysql 쿼리문을 작성할 때마다 addslashes/stripslashes 등을 해주는 게 여간 귀찮은 게 아니었는데(더군다나 배포용 프로그램의 경우 서버마다 설정이 다 다르니 말이다), 아예 옵션을 없애버린다면 한 가지 방법으로 일관되게 처리할 수 있을 것이다.

어쩐지 php가 점점 C++/Java화되는 것 같다는 느낌을 지울 순 없지만(특히 리턴타입 힌팅 같은 것들), 점점 강력한 웹어플리케이션을 만들고 대규모의 개발을 가능하게 하기 위해선 어쩔 수 없는 선택이기도 하다. 나름대로 많이 익혀왔고 재밌게 써온 php가 더욱 발전하길 바라며, 무엇보다도 국내 호스팅업체들의 발빠른 업그레이드(ㅠㅠ)가 있었으면 좋겠다.;;