PHP 유형 힌트로 boolean을 지정하지만 boolean을 지정해야 합니다
5871 단어 PHP
문제 코드
type_hint.php
<?php
class Main{
public function type_hint_boolean(boolean $arg){
var_dump($arg);
}
public function type_hint_integer(integer $arg){
var_dump($arg);
}
}
$main = new Main();
$main->type_hint_boolean(true);
$main->type_hint_integer(1);
출력PHP Fatal error: Uncaught TypeError: Argument 1 passed to Main::type_hint_boolean() must be an instance of boolean, boolean given,
must be an instance of boolean, boolean given꼭 boolean이어야 하는데 나한테 맡겼어 boolean???
참고로 인덱스의 경우 다음과 같은 오류가 발생했습니다.
must be an instance of integer, integer given
답안
유형 힌트
boolean
또는 integer
를 사용할 수 없으며 bool
, int
로 지정해야 합니다.type_hint.php
<?php
class Main{
public function type_hint_bool(bool $arg){
var_dump($arg);
}
public function type_hint_int(int $arg){
var_dump($arg);
}
}
$main = new Main();
$main->type_hint_bool(true);
$main->type_hint_int(1);
출력bool(true)
int(1)
해설
boolean
또는 integer
를 지정하면 해당 이름의 클래스 인스턴스에 대한 유형 힌트가 됩니다.따라서 아래 코드는
type_hint.php
<?php
class Main{
public function type_hint_boolean(boolean $arg){
var_dump($arg);
}
public function type_hint_integer(integer $arg){
var_dump($arg);
}
}
class boolean{
}
class integer{
}
$main = new Main();
$main->type_hint_boolean(new boolean());
$main->type_hint_integer(new integer());
출력object(boolean)#2 (0) {
}
object(integer)#2 (0) {
}
신뢰할 수 있음참고 자료
공식 문서
PHP7 조사(36)는 수평 다관절형의 힌트를 쓸 수 있다
PHP: bool vs boolean type hinting
Reference
이 문제에 관하여(PHP 유형 힌트로 boolean을 지정하지만 boolean을 지정해야 합니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yamamoto_hiroya/items/cbec9f0a71f309851a8c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)