2016-05-24 6 views
1

質問はphpDocsについてで、配列のパラメータを記述しています。例えば は、私はこのPhpは配列のパラメータを文書化しています

<?= $view['form']->getElement('number_of_doors_id'); ?> 

のようなコードを持っており、phpStormは「形式」キーが何であるかを理解していません。

私は私の心に来る唯一の解決策は、このような配列のために複数のタイプを使用することです

/** 
* @var $view['form'] \\Framework\Templating\Helper\FormHelper 
*/ 

/** 
* @params $view['form'] \\Framework\Templating\Helper\FormHelper 
*/ 
+1

/** * @var $view \Framework\Templating\Helper\FormHelper[]|\Framework\Templating\Helper\TranslatorHelper[] */ 

そしてそうでは表情を持っている[\ [ここ\]](のhttp:// stackoverflowの.com/questions/34703744/post-method-is-not-passing-the-value-while-get-method-works-fine)を使用します。 phpStormには問題があります。 – sjsam

答えて

0

は答えるので@Robertこの

<?php 
    /** 
    * @var $view \Framework\Templating\Helper\FormHelper[] 
    */ 
?> 

のように、この問題をLVEDそして、あなたは二つの異なるタイプが必要な場合だけ

+0

しかし、$ view配列のキーはFormHelper型であるため、動作しません。 – Robert

+0

私の答えが更新されました。現在正常に動作しています – MyMomSaysIamSpecial

1

を試してみた:

intは配列のキー

ための別のタイプである
/** 
* @var (\Framework\Templating\Helper\FormHelper|int)[] $view 
*/ 

からPHPDOC

が複数の型を含むように指定されている場合、型定義は各配列要素の型を リーダーに通知します。各要素は、指定された型の任意の にすることができます。例:@return(int | string)[]

この配列変数を通常の変数に割り当てることもできます。

これまで他の可能性はないと思います。私は配列から変数を抽出し、個々の@varブロックを有することになった似たような状況で

1

/** 
* @var \Framework\Templating\Helper\FormHelper $form 
* @var \Framework\Templating\Helper\UrlHelper $url 
*/ 

extract($view); 
$form->getElement('number_of_doors_id'); 

私が見てきた代替は、ビューごとに「ViewModelに」クラスを持っている:

class AboutViewModel 
{ 
    /** 
    * @var \Framework\Templating\Helper\FormHelper $form 
    * @var \Framework\Templating\Helper\UrlHelper $url 
    */ 
    public $form, 
      $url; 

} 

とあなたのビューに変更

/** 
* @var \Framework\Views\AboutViewModel $vm 
*/ 
$vm->form->getElement('number_of_doors_id'); 
+0

良いアイデア、悲しいことに、抽出するには配列が必要です。**(配列)$ vew **はうまくいきません。 – MyMomSaysIamSpecial

+1

ああ、 '$ view'は配列だと思った。どのようなタイプですか?コレクションのいくつかの種類? – Steve

+0

ええ、それはsymfonyのテンプレートコンポーネントPhpEngineオブジェクトです。 http://symfony.com/doc/current/components/templating/introduction.html – MyMomSaysIamSpecial

関連する問題