내에서 배열 실패 test '를'중첩 '배열의 멤버로 사용합니다.
PHPStorm은 중첩 된 배열과 멤버가 있음을 인식하지 못하는 것 같습니다.PHPStorm 코드 완성 내가이 기본 코드를 배열
버그입니까, 내가 잘못 했습니까?
나는 완료 지원을 얻기 위해 다른 해결책을 시도 논평에 따르면,
행운으로 중 하나
class test
{
public static $nested = array('test' => 'nada');
}
function doit()
{
$completeme = test::$nested;
$completeme['']; // no completion working
/** @var test::nested $completeme */
$completeme = test::$nested;
$completeme['']; // no completion working
}
같은 문제가 클래스 내부 배열이 시간을.
test :: nested [ ''] < <이 작동하면 완료됩니다. 하지만 그 사본을 만들 자마자 나는 다시 완성을하거나 phpdoc을 사용하여 유형을 지정하는 방법을 찾지 못했습니다.
이 기능은 구현되지 않았습니다. 심지어 첫 번째 레벨 배열의 키를 기억하면 상당한 오버 헤드 (메모리 + CPU)가 추가됩니다. 이 점과 대부분의 경우 첫 번째 수준이면 충분하다는 사실을 고려하면 다른 수준의 구현은 단순히 보류 상태에 놓이게됩니다. – LazyOne
그들은 강제로 재귀 완료를 위해 PHPdoc 매개 변수를 추가해야합니다 :/ 다른 방법을 시도했는데, 대신 클래스를 사용해 보았는데 문제가 남아 있습니다. 이제 첫 번째 레벨 배열이지만 복사본을 만들 때 완료 할 수 없습니다. – John
나는 (실제 코드에 접근 할 수 없기 때문에) 여기에 잘못 될 수있다. 그러나 내가 아는 한, 배열 변수 키를 실제 배열/변수 이름에 연결한다. 그런 할당 (다른 변수)은 일 (적어도 나는 그것을 위해 일하는 것을 본 적이 없다). 이 기능은 상당히 제한된 사용 사례를 가지고 있으며 주로 전역 배열 ($ _SERVER 등) 또는 클래스/함수 내의 배열 (예 : 클래스 구성 세부 정보를 보유하는 클래스의 $ cfg' 속성 (별도의 필드)). – LazyOne