2016-05-12 1 views
0

Вот мой метод подписи:

protected function updateFeeComponent(\FeeComponent $FeeList, $shipment_id, $item_id) 
{ 
    foreach($FeeList as $fee) 
    { 
     //other stuff 
    } 
} 

и я называю это так:

$this->updateFeeComponent($shipmentFeeList,$event_id,$item_id); 

где $shipmentFeeList имеет @var List<FeeComponent> ItemFeeList.

Как передать LIST пользовательского объекта в качестве параметра функции?

EDIT:

Я использую PhpStorm V-9, и интегрируя Laravel-Amazon-mws library Для включения типа подсказки/Intellicode/Available списка методов (то, что вы называете это), я должен упомянуть variable типа , Я попал в эту проблему. Я знаю, что List не является чем-то доступным на PHP, но мы часто говорим, что List вместо Array, потому что логика несколько одинакова, хранят легко доступные несколько элементов (хотя реализация и технологии отличаются).

Итак, мой вопрос был о том типе намекая, в момент Задавая этот вопрос, я признаю, я не в состоянии думать о array вместо List ...

Я ни родного английского, ни эксперт как и большинство ребята здесь. Поэтому я приглашаю всех отредактировать этот вопрос таким образом, чтобы кто-то другой мог получить свое решение из этого вопроса.

+1

С каких пор PHP имеет типы шаблонов, такие как 'List '? – Barmar

+0

извините, @var List ItemFeeList, то есть тип переменной –

+1

У PHP нет списков. У него есть массивы, но они не печатаются. Это аннотация «phpdoc»? – Barmar

ответ

3

Насколько я знаю, ближайший доступ к тому, что вы хотите, что-то вроде:

/** 
* @param FeeComponent[] $FeeList 
*/ 
protected function updateFeeComponent(array $FeeList) { 
    // ... 
} 

Где вы annotate with PHPDoc the type для $FeeList как массив FeeComponent и используете PHP type hinting, чтобы указать требуемый тип как array.

В среде IDE, которая поддерживает чтение PHPDoc, например PHPStorm, это корректно обрабатывает каждый элемент входного массива как FeeComponent и предоставляет допустимую подсказку, например.

foreach ($FeeList as $fee) { 
    $fee-> // Be provided with properties and methods of FeeComponent 
      // in hints here. 
} 
+0

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

+0

и спасибо, я признаю, что мой вопрос не был четко задан ... так проголосовали за его закрытие : P –

+0

@ ZaffarSaffee Возможно, это было не очень ясно, но я думаю, что это ценный вопрос, особенно с небольшой настройкой. – Marty

Смежные вопросы