JetBrains 웹

웹을 힌트할 수 있는 방법이 있나요?변수에 어떤 유형이 있는 IDE?오브젝트 배열을 반복해야 하는데 자동 완성을 사용할 수 없습니다.이것은 Zend Studio에서 도움이 됩니다. /* @var ClassName $object */ JetBrains에는 객체 배열을 선언하는 기능이 있습니다. /** * @return ClassName[] */ 그러나 이것은 함수의 반환 유형에서만 작동합니다. 질문에 대한 답변 /* @var ClassName $object */는 유효하지 않은 PHPDOC … Read more

PHP 7 – 개체 배열에 힌트를 입력합니다.

뭔가 빠뜨린 것 같습니다만, 예를 들어 User 객체의 배열과 같이 함수를 인수 또는 반환하도록 정의하는 옵션이 있습니까? 다음 코드를 고려합니다. <?php class User { protected $name; protected $age; /** * User constructor. * * @param $name */ public function __construct(string $name, int $age) { $this->name = $name; $this->age = $age; } /** * @return mixed … Read more

PHP 7 인터페이스, 반환 유형 힌트 및 자체

업데이트: 현재 PHP 7.4는 이 질문에서 제기된 주요 문제를 해결하는 공분산 및 위반을 지원합니다. PHP 7에서 리턴 타입 힌트를 사용하는 것에 문제가 발생했습니다.내 이해로는 힌트는: self실장 클래스가 반환되는 것을 의미합니다.그래서 나는 사용했다.: self인터페이스를 실제로 실장하려고 했을 때 호환성 오류가 발생하였습니다. 다음은 제가 직면한 문제의 간단한 예시입니다. interface iFoo { public function bar (string $baz) : … Read more

PHP 7에서 속성에 대한 힌트를 입력하시겠습니까?

php 7은 클래스 속성에 대한 유형 힌트를 지원합니까? 세터/게터뿐만 아니라 재산 자체를 위해서도요. 예를 들어 다음과 같습니다. class Foo { /** * * @var Bar */ public $bar : Bar; } $fooInstance = new Foo(); $fooInstance->bar = new NotBar(); //Error 질문에 대한 답변 PHP 7.4는 다음과 같은 유형의 속성을 지원합니다. class Person { public string … Read more

어떻게 하면 PHP 타입 힌트에서 “캐치 가능한 치명적인 오류”를 잡을 수 있을까요?

클래스 중 하나에 PHP5의 타입 힌트를 실장하려고 합니다. class ClassA { public function method_a (ClassB $b) {} } class ClassB {} class ClassWrong{} 올바른 사용법: $a = new ClassA; $a->method_a(new ClassB); 생성 오류: $a = new ClassA; $a->method_a(new ClassWrong); 잡을 수 있는 치명적인 오류: ClassA::method_a()에 전달된 인수 1은 ClassB의 인스턴스여야 하며 ClassWrong의 인스턴스가 지정되어야 합니다. … Read more

속성 유형 힌트를 소개할 때 갑자기 “초기화 전에 Typed properties must accessed before initialization” 오류가 나타나는 이유는 무엇입니까?

새로 도입된 속성 유형 힌트를 활용하기 위해 클래스 정의를 다음과 같이 업데이트했습니다. class Foo { private int $id; private ?string $val; private DateTimeInterface $createdAt; private ?DateTimeInterface $updatedAt; public function __construct(int $id) { $this->id = $id; } public function getId(): int { return $this->id; } public function getVal(): ?string { return $this->val; } public function getCreatedAt(): … Read more

PHP7의 null 반환 형식

PHP 7에는 반환 유형 선언이 도입되어 있습니다.즉, 반환값이 특정 클래스, 인터페이스, 배열, 호출 가능 또는 함수 파라미터에서 가능한 새로운 힌트 가능한 스칼라 유형 중 하나임을 나타낼 수 있습니다. function returnHello(): string { return ‘hello’; } 대부분의 경우 값이 항상 존재하지 않고 특정 유형 또는 null 중 하나를 반환할 수 있습니다.기본값을 null로 설정하면 파라미터를 null로 할 … Read more

PHP 7 이전 “문자열 인스턴스여야 합니다, 문자열 given”을 해결하려면 어떻게 해야 합니까?

코드는 다음과 같습니다. function phpwtf(string $s) { echo “$sn”; } phpwtf(“Type hinting is da bomb”); 그 결과, 다음의 에러가 발생합니다. 잡을 수 있는 치명적인 오류: phpwtf()에 전달된 인수 1은 문자열 인스턴스여야 하며 지정된 문자열이어야 합니다. PHP가 원하는 유형을 동시에 인식하고 거부하는 것을 보는 것은 작은 오웰리언이 아닙니다.불빛이 다섯 개야, 젠장. PHP의 문자열에 대한 유형 암시와 … Read more

형식 힌트를 사용할 때 null 인수를 전달할 수 없습니다.

다음 코드: class Type { } function foo(Type $t) { } foo(null); 실행 시 실패: PHP 치명적 오류: foo()에 전달된 인수 1은 null일 수 없습니다. 왜 다른 언어처럼 null을 통과하지 못하는 거죠? 질문에 대한 답변 PHP 7.1 이상(2016년 12월 2일 출시) 변수를 명시적으로 선언할 수 있습니다.null이 구문을 사용하여 function foo(?Type $t) { } 이것은 결과적으로 … Read more