PHPDoc - подсказка для вызова статического метода - PullRequest
0 голосов
/ 19 октября 2018

У меня есть этот код:

$sSomeClass = 'Database';

$pdo = $sSomeClass::getInstance();

Есть ли способ как напечатать подсказку в PHPDoc, эта переменная "$ sSomeClass" является именем класса, поэтому IDE может видеть ссылку на этот класс?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

В Eclipse вы можете сделать это (я не знаю о других IDE):

  /* @var $sSomeClass SomeClass */
  $sSomeClass = 'Database';

  $pdo = $sSomeClass::getInstance();

, который отлично работает для локальных переменных, таких как зацикливание на массиве объектов.

 /* @var $someClass SomeClass */
  foreach($objects as $someClass){
      $someClass->getSomething();
  }

Это типичный способ, которым я использую его, по крайней мере.

Если вы планируете использовать одну и ту же переменную для нескольких классов, то для этого можно создать интерфейс для них.Это если они взаимозаменяемы, а затем использовать интерфейс вместо имени класса.Непонятно в вопросе, что именно вам нужно.

0 голосов
/ 19 октября 2018

Ну ...

<?php
/**
*
* @var Database $sSomeClass
*/

Но я полагаю, $sSomeClass не является прямым заданием, как показано?В таком случае ... возможно?IDE не сможет определить это, возможно, сможет охватить подсказки внутри фигурных скобок.Будет зависеть от IDE.

if ($foo == 'bar') {
  /**
    *
    * @var Bar $sSomeClass
    */
    $sSomeClass = 'Bar';
} else {
  /**
    *
    * @var Foo $sSomeClass
    */
    $sSomeClass = 'Foo';
}

Я добавлю блоки наподобие этого комментария в стиле C при кодировании, если изо всех сил пытаюсь запомнить методы, а затем просто удалю его позже.

...