xe, 라이믹스는 타입 검증이 꼼꼼하군요
php 5버전대 부터 이어온 소스라 그런지
php5는 함수파라미터에 타입 못적으니까
function addInt( $x + $y ){
$x = (int)$x;
$y = (int)$y;
return $x+$y;
}
이런식으로 함수내부에서 타입변환들을 거의다 하고있네요
php 타입변환이 (int)$x 가있고 intval($x) 함수 호출이 있는데요 floatval , strval 는 각각 (float), (string) 으로 변환
함수호출이랑 (타입)은 역할이 같은데 함수가 호출되서 느려지는 벤치마크보고
기본형으로 바꾸다 보니 코어단 보는데 검증이 ㅎㄷㄷ 하군요
다 바꾸니까 10~20ms 정도 차이가 나네요
리턴값들도 다 형변환하고..
들어온 $key 변수를 형변환하는 모습
/common/framework/drivers/cache/file.php
라이믹스의 캐시드라이버의 file.php 파일입니다.
코어 파일들도 PHP DOC 도 빠짐없이 다되어있고ㄷ
안정성, 보안이 옆동네 보드와는 비교할 수 없이 좋네요
라이믹스 개발자분들 감사합니다
댓글 3
트리거도 그렇고, 모듈 구조도 그렇고 코어 수정 없이 새로운 기능을 원하는대로 구현할 수 있다는게 라이믹스 최대 장점이죠!
그누에 비하면 레거시도 아니죠 ㅋㅋ
PHP 7부터는 아예 함수에 자료형을 선언할 수 있어서 더 정확해졌습니다.
언어에서 자동으로 자료형을 맞춰 주니까 함수 안에서 변환할 필요도 없고요.
최근에 추가된 라이믹스 프레임워크 쪽에서는 이렇게 선언해 놓은 곳이 꽤 됩니다.
function addInt(int $x, int $y): int // 정수를 받아서 정수를 반환하겠다는 뜻