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 정도 차이가 나네요

 

리턴값들도 다 형변환하고..

 

file-php.png

들어온 $key 변수를 형변환하는 모습

 

/common/framework/drivers/cache/file.php

라이믹스의 캐시드라이버의 file.php 파일입니다.

 

코어 파일들도 PHP DOC 도 빠짐없이 다되어있고ㄷ

 

 

안정성, 보안이 옆동네 보드와는 비교할 수 없이 좋네요

 

라이믹스 개발자분들 감사합니다

  • profile
    레거시 코드가 많아서 기능파악이 어려울 때도 있긴 한데, 익숙해지면 개발편의성이 확 올라가는거 같습니다

    트리거도 그렇고, 모듈 구조도 그렇고 코어 수정 없이 새로운 기능을 원하는대로 구현할 수 있다는게 라이믹스 최대 장점이죠!
  • profile ?

    그누에 비하면 레거시도 아니죠 ㅋㅋ

  • profile

    PHP 7부터는 아예 함수에 자료형을 선언할 수 있어서 더 정확해졌습니다.

    언어에서 자동으로 자료형을 맞춰 주니까 함수 안에서 변환할 필요도 없고요.

    최근에 추가된 라이믹스 프레임워크 쪽에서는 이렇게 선언해 놓은 곳이 꽤 됩니다.

     

    function addInt(int $x, int $y): int // 정수를 받아서 정수를 반환하겠다는 뜻