2017-09-13 6 views
1

나는 하나 개의 PHP 클래스는 점에서 나는 한 사람이 함수 이름 뒤에 :bool을 의미합니까 그 무엇을 말해 주시겠습니까 예컨대PHP 객체 FUNCTIONNAME() : 부울

public static function success(string $userid, string $message):bool 
{ 
    return self::add($userid, $message, 'success'); 
} 

함수 발견했습니다? documentation (강조 광산)에서

답변

0

:

PHP 7 반환 형식 선언에 대한 지원을 추가합니다. 인수 유형 선언과 마찬가지로 리턴 유형 선언은 함수에서 리턴 될 값의 유형을 지정합니다. 인수 유형 선언에 사용 가능한 것과 동일한 유형이 리턴 유형 선언에 사용 가능합니다.

엄격한 입력은 반환 형식 선언에도 영향을줍니다. 기본 취약 모드에서 반환 값은 해당 유형이 아닌 경우 올바른 유형으로 강제 변환됩니다. 강력한 모드에서 반환 값은 올바른 형식이어야합니다. 그렇지 않으면 TypeError가 throw됩니다.

1

:bool은 함수의 반환 유형을 강요합니다. 귀하의 경우에는 부울입니다.

<?php 

function arraysSum(array ...$arrays): array 
{ 
    return array_map(function(array $array): int { 
     return array_sum($array); 
    }, $arrays); 
} 

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9])); 

PHP 7 반환 형식 선언에 대한 지원을 추가합니다. 인수 형식 선언과 마찬가지로 반환 형식 선언은 함수에서 반환 할 값의 형식을 지정합니다. 인수 유형 선언에 사용 가능한 것과 동일한 유형이 리턴 유형 선언에 사용 가능합니다.

엄격한 입력은 반환 형식 선언에도 영향을줍니다. 디폴트의 ​​약한 모드에서는, 반환 값이 벌써 그 형태가 아닌 경우는, 올바른 형태로 강제적으로 변환됩니다. 강력한 모드에서 반환 값은 올바른 형식이어야합니다. 그렇지 않으면 TypeError가 throw됩니다.

참고 : 부모 메서드를 재정의 할 때 는, 아이의 방법은 부모에 어떤 반환 유형 선언과 일치해야합니다. 부모가 리턴 타입을 정의하지 않으면, 자식 메소드는 리턴 타입을 정의 할 수있다.

새로운 기능의 전체 목록은 here입니다.

0

는 명시 적 기능 success 따라서

0

단순히 그 값의 표시는 함수 출력 것이다 타입 등 암시 캐스트에 의해 의도하지 않은 리턴 값을 방지하는 bool과 만 bool를 반환한다고. PHP 7에서 추가되었습니다. bool 값 이외의 값을 출력하려고하면 오류가 발생합니다.

0

강제로 메소드의 반환 값은 부울입니다.

self :: add 메서드가 문자열을 반환하면 결과는 true가됩니다.