2015-03-20 4 views
7

Ho cercato una soluzione ma non riesco a trovare nessuno adatto a Twig, so che è una qualità della vita. Ma renderebbe leggermente più semplice il templating.Typehint (intellisense) oggetti all'interno di un loop di ramoscello

Esempio

{% for userObj in userObjCollection %} 
    {{ userObj.property }} 
    {# I want to type hint userObj so I can use intellisense to get the right property #} 
{% endfor %} 

Attualmente sto usando il PhpStorm IDE,
eventuali suggerimenti o puntatori sono molto apprezzate.

Modifica Si noti che questa è una pura domanda per un modo più semplice di codificare all'interno del ciclo. Non è qualcosa con cui un utente di un sito entrerebbe in contatto. (Tag PhpStorm aggiunto anche a chiarire)

Edit 2
Ho i plugin Symfony2 e PHP annotazioni installati (Ci scusiamo per non aver sollevato la questione in precedenza)

+0

Nella maggior parte degli IDE hai intellisense (quando inizi a digitare automaticamente ti fornisce l'elenco delle proprietà per l'oggetto) Normalmente userei/** @var User [] $ userObjCollection */se avessi voluto tale suggerimento in PHPStorm con un loop php. Quindi non è un autocomplete per il campo stesso ma per le proprietà dell'oggetto durante la codifica. – Ricardo

+0

OK, ho capito ora. Purtroppo non posso aiutarti. – Veve

+0

Stai usando il plugin symfony 2 per phpstorm? –

risposta

26

Utilizzare questo nel vostro ramoscello:

{# @var foo \FooObject #} 
+0

Nota per array/uso del supporto del ciclo: '{# @var foo \ FooObject [] #}' –

5

Personalmente io uso il Symfony2 Plugin per PhpStorm, ha un completamento automatico per oggetti ramoscello e persino repository.

+1

Lo stesso qui, è fantastico. Alcune delle cose che fa (come il tipo di suggerimento nel ramoscello) sono magie borderline! C'è un plug-in di annotazioni PHP che potresti trovare utile in quanto offre il completamento di tutte le annotazioni utilizzate anche da Symfony (@ORM ecc.) –

+0

Ho entrambi e sono completamente d'accordo con te sul fatto che sia semplicemente fantastico. Ma non sembra che mi aiuti a suggerire oggetti all'interno di loop, funziona per voi ragazzi? Se è così allora potrebbe essere una configurazione errata dalla mia parte. – Ricardo

+2

Non so se l'hai già capito, ma se usi l'avviso @return con dire ObjectType [] assumerai che stai ricevendo un array di ObjectType e funzionerà all'interno di foreach :-) – Adam

0

Per quelli di voi che non hanno familiarità con il plugin di Symfony per PhpStorm, si ricorda che deve essere installato (tramite Preferenze> Plugins) E abilitato manualmente il livello del progetto (tramite Preferenze> Lingue & Framework> PHP> Symfony> Abilita plugin per questo progetto).

Solo allora la risposta di accettazione funzionerà correttamente!

Problemi correlati