Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как указать для IDE что параметром в методе идет объект

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
DlTA
Отправлено: 17 Января, 2012 - 00:40:58
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




собсна последнее время часто встречаюсь с следующим
например:
public function saveArticles($sArticles) {...}
где $sArticles объект структура у которого множество публичных свойств (я так избавляюсь от использования ассоциативных массивов)

так вот как можно правильно указать ide что $sArticles это объект класса, чтоб она правильно мне подсказки выдавала по методам класса объекта $sArticles?

или например при работе с DOMDocument()
использование структур типа:
$doc->load("dlya.xml");
$doc->childNodes->item(1)->childNodes->item(4)->childNodes->item(0)->childNodes->item(27)->childNodes->item(2)->childNodes->item(0)->childNodes->item(1)->childNodes->item(1)->childNodes->item(0)->childNodes

незнаю как кого но меня напрягает.
я и делаю типа:
$itemNode = $itemNode->childNodes->item($itemKey);
но теперь когда я обращаюсь к объекту $itemNode
пытаясь вызвать подсказку по его методам IDE меня шлет((
IDE = PhpED
 
 Top
Okula
Отправлено: 17 Января, 2012 - 01:07:52
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Указывай объект какого класса будет передоваться в функцию. Например:
PHP:
скопировать код в буфер обмена
  1. abstract class dbConnect extends MySQLi {
  2.    
  3.     function __construct($host, $user, $pass, $basa) {
  4.         parent::__construct($host, $user, $pass, $basa);
  5.     }
  6.    
  7.     abstract function getFullResult(mysqli_result $result) { }
  8.    
  9. }

Обрати внимание на метод getFullResult() тут указывается объект какого класса будет передан в переменную $result
И это нужно не только для IDE, а для того чтобы случайно или преднамеренно ненужные данные не прошли. Этот способ эквивалентен оператору instanceof
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB