1. 개요
리즈너블(Reasonable)은 웹 개발 프레임워크의 일종이다. LGPL 라이센스를 따르며 다른 PHP 프레임워크와 달리 하위 호환에 주안점을 두고 만들어졌다.2. 배경
일명 "모던 PHP"(Modern PHP)라 불리는 PHP 7 시대가 도래하면서 객체지향 지원 수준과 문법이 JAVA와 비슷해지거나, 신생 프로그래밍 언어의 문법을 받아들이면서 오히려 더 좋아진 부분을 PHP 언어가 가지게 되었다.PHP 언어가 이전 버전과의 하위 호환을 고려해서 만들어지므로 일명 "레거시 PHP"(Legacy PHP)라 불리는 PHP 4 이하의 버전의 문법도 PHP 7에서 거의 대부분이 호환된다. 매우 폭넓은 하위 호환을 허용한 덕에 조금만 수정을 하면 80~90년대에 볼법한 CGI 코딩 관습을 따르는 코드도 무리없이 돌릴 수 있다.
하지만 PHP도 여러 신생 프로그래밍 언어들 처럼 현대적인 프레임워크(코드이그나이터, 라라벨, 심포니 등)가 속속 공개되고 많은 영향력을 차지하게 되면서, 최근까지 버전이 아무리 올라가도 무제한적인 하위 호환을 제공해오던 관습에도 제동이 걸리기 시작했다.개발 언어로 PHP를 사용하던 사람들은 JAVA 기반 프로젝트의 현실적인 문제(경우에 따라, 전체 개발 일정의 60% 이상을 요구사항 개발이 아닌 환경설정에만 소모해야할 수도 있음)때문에 대형 프로젝트가 아니면 복잡한 환경설정 없이 바로 개발에 임할 수 있는 PHP를 선택하는 경우가 많았고, 이에 따라 진입장벽도 자연스럽게 낮아졌기 때문에 대한민국에서는 제로보드나 그누보드 같은 프로젝트가 인기를 끌었다.
어떠한 일괄적인 통제력을 가진 규칙이 없으므로, 프레임워크처럼 갖춰진 체계의 조력을 받지 않는 날코딩이 많았다.
하지만 PHP 업계에서도 MVC 같은 어느정도 체계가 있는 개발 방법론을 적용하는 움직임이 일어나면서, 국제적으로도 이것에 준비되어 있지 않던 기존 PHP 개발자들은 단체로 멘붕에 빠지게 되었다. 여기에 보안 문제(SQL injection, XSS, CSRF 등)의 해결에 있어서도 체계있는 개발 방법론이 주목을 받기 시작했다. 이 과정에서 해외 시장에서는 "레거시 PHP"(Legacy PHP) 시대를 대표하던 많은 프로젝트들이 사라졌다.
이 부분은 레딧에서도 공유되었던 적이 있는데 특정 지역에서 PHP가 공식 설명서와는 다른 독자적인 코딩 관습이 존재하고, 그 지역 시장의 주류라는 점에 놀라는 모습을 보였다. 그런데 한국만 이렇다고 까는 것은 그들이 잘못하고 있는 것이다. 당장 소스코드 거래 사이트인 Codecanyon만 가봐도 이렇게 짠 프로그램들이 많은데다가 이걸 박리다매 식으로 팔고있다. 주요 대상 고객도 미국과 유럽 사람들이다. 이런 프로젝트들을 가지고 "낡은 스타일로 프로그램을 짠다"라기 보다는 "필요에 의해 최소한의 API를 사용하는 것이다"라는게 더 맞는 말이다.
3. 목표
리즈너블은 PHP 7 이상의 "모던 PHP" 환경에서, "레거시 PHP"라 불리는 코드의 운용 및 개발 인력을 수용하기 위해 만들어진 대한민국과 일부 아시아권(중국, 인도, 동남아, 유럽 일부 등) PHP 시장에 맞춰진 프레임워크이다.모든 기존 인원들을 최근의 코딩 스타일에 맞게 재교육한다는 것은 현실적으로 불가능하기 때문에, 각 분야 개발자들이 자신에 능력과 스타일에 맞추어 코드를 작성한 뒤 프레임워크에서 통제하는 구조를 가지고 있다.
과거 CGI 스타일의 문법을 허용하면서 최신 규격에 맞춘 것과 동일한 효과를 내는 것이 목표이다.