PHP는 훌륭하고 작곡가 인 PHP-FIG이며 모든 다른 프레임 워크가 더욱 커집니다. 그러나 언어 자체에는 여전히 PHP를 사용하기가 더 어려워지는 레거시가 여전히 남아 있습니다 (많은 목록 중 하나는 http://phpsadness.com/ 참조).
Zubr는 PHP의 핵심 기능에서 불일치를 고정하는 래퍼 라이브러리입니다. PHP의 내장 기능을 래핑하고 일관된 이름 지정, 인수 순서 등을 사용하여 몇 가지를 고치려고 시도합니다.
예를 들어, : :
parse_url()
urlencode()
에게:
Zubrparse_url()
Zubrurl_encode()
그리고 심지어 :
htmlentities()
html_entity_decode()
에게:
Zubrhtml_entity_encode() // alias to htmlentities(), Zubrhtml_entities()
Zubrhtml_entity_decode()
기능은 항상 내장 이름과 동일한 이름을 가지지 만 동일한 규칙 세트를 따릅니다. 기능 이름은 예측 가능하고 익숙한 이름과 유사하기 때문에 사용하기 직관적입니다.
Zubr의 아이디어는이 HN 게시물을 언급 한 것입니다 : https://news.ycombinator.com/item?id=14883784
우리는 PHP <7.0.0을 무시하고 있습니다. PHP 7.0.0에 감가 상각되고 포함되지 않은 함수는 Zubr에서 찾을 수 없습니다.
http://phpsadness.com/sad/4를 참조하십시오
우리는 항상 snake_case를 사용합니다.
참조 : http://phpsadness.com/sad/15
u 대신 micro 사용하여 별칭을 추가합니다 (때로는 user 의미).
우리는 u 대신 user 사용하여 별칭을 추가합니다 (때로는 micro 의미).
to 2http://phpsadness.com/sad/48을 참조하십시오
우리는 2 대신 to 사용하는 별칭을 추가합니다.
http://phpsadness.com/sad/9 및 유사한 참조.
우리는 항상 주제를 먼저, 키워드 ( $haystack 먼저, $needle )를 넣습니다.
예를 들어, " Dog 를 위해 Google 검색"( " $keyword 의 Search $subject "를 의미 함)이라고합니다.
대부분의 PHP 기능은 이미이 협약을 따릅니다.
http://phpsadness.com/sad/6을 참조하십시오
우리는 항상 콜백을 마지막으로했습니다.
참고 : 문자열이 예상되는 배열을 전달하는 것과 같이 함수에 주어진 매개 변수가 예상되는 것이 아닌 경우 함수의 리턴 값은 정의되지 않습니다. 이 경우 NULL을 반환 할 가능성이 있지만 이것은 단지 협약 일 뿐이며 의존 할 수 없습니다. http://php.net/manual/functions.internal.php
우리는> 1.0 릴리스에서 위의 내용을 수정하고 싶습니다.
버전 1.0에는 모든 PHP의 핵심 내장 기능이 포함됩니다.
그런 다음 개인 플러그인 시스템을 구현하여 2.0에 번들 확장을 추가하고 플러그인 시스템을 공개하여 누구나 버전 3.0의 외부 확장에 래퍼를 구현할 수 있도록 할 수 있습니다.
우리는 https://github.com/nkkollaw/zubr/milestones에서 버전 1.0까지 구현 될 모든 기능을 갖춘 자세한 이정표가 있습니다.
풀 요청을 환영합니다.
Contributing.md 파일을 살펴보십시오.
이메일은 composer.json 파일에서 찾을 수 있습니다.