PHP Router 비교
거창하게.. 비교 라고 칭했지만.. 남들하는 것만큼의 전문적인 비교는 불가능하다는 것을 내 자신이 제일 잘 알고있기 때문에.. PHP Router 를 사용해보면서 느낌 점을 그냥 정리해보고자 한다. 아래 PHP Router 보다 더 좋은 것이 있을 수도 있고.. 내 선택 기준은 Simple, 그리고 편의성 이었기 때문에..
1. klein.php
PHP Router 중 제일 처음 사용한 것이 klein.php 이다. github 에서 별표시가 많아서 사용했다. 이 Router 에서 영감을 받아서 다른 Router 를 개발했다고 하니.. 어쩌면 원조 같은 느낌이랄까? 처음 사용했을 때는 다른 것을 몰랐기 때문에 대단하다고 생각했지만.. 사용면에서는 설정이 그렇게 쉬운 것만은 아니었기 때문에 .. 그리고 $_REQUEST 등으로 폼 전송 값을 코드에서 바로 사용할 수 없는.. 뭔가 설정이 있을텐데 못 찾은 것일 수도 있다. 아무튼 그래서 다른 프로젝트에서는 다른 것을 사용하게 됐다.
2. AltoRouter
두 번째로 찾아서 사용해본 PHP Router 이다. composer 설치를 지원하지 않아서 귀찮을 수도 있는데.. 설치는 그렇게 어려운 게 아니라서, 그리고 별표도 많았기 때문에 사용을 했다. 사용하면서 크게 문제가 되진 않았는데.. Router 설정할 때 정규식 패턴이 좀 다르다고 해야할까? 평소 하던대로 하면 원하는 대로 작동하지 않는 경우도 있고 해서 결국은 다른 것으로 갈아타게 됐다. 이걸로 여러 개의 사이트를 제작했는데.. 나중에 수정하려면 큰 일이겠지? 그럴 일이 없기를 바랄 뿐이다. 그리고 내가 생각하는 최대의 단점은 서브폴더에서 사용할 때 basePath 를 별도로 설정해줘야 한다는 것이다. 이걸 위해서 별도로 코드까지 짰을 정도인데.. 아마 이 문제 때문에 다른 것을 사용해야겠다 생각하게 된 것 같다.
최근.. 그러니까 어제 찾아서 사용하게 된 PHP Router 이다. 일단 Router 를 설정할 때 정규식 패턴을 그대로(?) 사용할 수 있어서.. 그렇다고 정규식을 아주 잘하는 것은 절대 아닌데.. 암튼 하던대로 할 수 있어서 편하다. 설치 역시 composer 를 지원해서 쉽고.. PHP 5.3 부터 지원하는 것도 장점이라면 장점일 수 있다. 다른 두 개의 PHP Router 보다 설정도 쉽게 할 수 있어서 좋다. 그리고 AltoRouter 에서 문제가 됐던 서브폴더에서 사용할 때의 문제.. 설명에도 나와있지만 서브폴더 환경에서 별도 설정없이 잘 사용할 수 있다. 아직은 사용한지가 얼마되지 않았기 때문에 단점이 안 보인걸 수도 있는데.. 이 정도면 무난(?)하게 사용할 수 있지 않을까 싶다.