Netbeans Code Complete не активируется при циклическом просмотре массива объектов - PullRequest
2 голосов
/ 15 октября 2010

В моих проектах PHP Netbeans я недавно начал вставлять пользовательские объекты в массивы, чтобы повысить производительность. Я обнаружил, что намного быстрее , чтобы запрашивать базу данных и получать сразу несколько объектов вместо того, чтобы запрашивать снова и снова.

Мне нравится новый подход, за исключением случаев, когда я перебираю массив и пытаюсь получить доступ к каждому из объектов, Netbeans не знает, что элементы в массиве на самом деле являются объектами. Попробуйте следующий пример кода, например:

    foreach ($arrAccounts as $objAccount) {
         echo ( $objAccount->get_name() . " - " . $objAccount->get_type() );
         ...

    }

Когда я набираю "$ objAccount->", Netbeans не распознает, что это пользовательский класс Account.

Ответы [ 2 ]

2 голосов
/ 15 октября 2010

внутри цикла добавьте vdoc и введите имя класса $objAccount

Ярлык = [vdoc + вкладка]

foreach ($arrAccounts as $objAccount) {
    /* @var $objAccount ClassName */
    ...
}
0 голосов
/ 29 августа 2016

Другим подходом может быть phpdoc для массива элементов, если вы добавите «[]» после имени класса:

/* @var $arrAccounts ClassName[] */

Я считаю это лучше для ясности кода, потому что вы указываете тип вашего массива один раз.Тогда не имеет значения, назначаете ли вы его в foreach () или обращаетесь к элементам массива напрямую, основываясь на ключах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...