Na navigaci | Klávesové zkratky

Translate to English… Ins Deutsche übersetzen…

PhpStorm a napovídání nad $this->template

Jak se zbavit upozorňování PhpStormu na „undefined fields“ a aktivovat napovídání u objektu $this->template v presenterech?

Tedy jak změnit tento pohled s podtrženým abc a prázdným napovídacím okénkem:

Na tento?

Jednoduše. Stačí do presenteru (například BasePresenter) doplnit tuto anotaci:

/**
 * @property-read \Nette\Bridges\ApplicationLatte\Template|\stdClass $template
 */
abstract class BasePresenter extends Nette\Application\UI\Presenter

Aby fungovalo i napovídání dynamicky přidaných proměnných, které je dostupné po dvojím stisknutí Ctrl+Space, je potřeba šablonu uložit do lokální proměnné:

Komentáře

  1. Tomáš Votruba https://tomasvotruba.cz/blog #1

    avatar

    Díky za moc pěkný návod, budu odkazovat na školeních :)

    Když už jsme u toho, používáš metody add() nebo setParameters()?

    Sám preferuju setParameters(), kde je těžší přepsat si existující proměnnou v dlouhé metodě, protože ji volám jednou na konci.

    před 9 dny | odpovědět
  2. Martin Váňa https://martinvana.com/blog/ #2

    avatar

    +1

    Nevíte jak na napovídání metod formulářů/komponent? Díky.

    public function actionEditCategory($id){
        ...
        $this['editCategoryForm']->setDefaults([
            'id' => $category->id,
            'name' => $category->name,
            'weight' => $category->weight,
        ]);
    }
    před 9 dny | odpovědět | reagoval [5] Karel Borkovec
  3. Martin #3

    Tohle je super, ale napovídání přímo v latte template by bylo ůplně nejlepší :)

    /--php
    public function render() {
    $this->template->date = new DateTime();
    }
    \--

    /--php
    {$date->format()} <!-- tohle by našeptávalo -->
    \--

    před 9 dny | odpovědět | reagoval [4] Felix
  4. Felix https://f3l1x.io #4

    avatar

    #3 Martine,
    To by vyzadovalo celkem velkou inspekci. :-) Problem je, ze nevis ktery presenter/control se vaze na kterou sablonu.

    před 8 dny | odpovědět
  5. Karel Borkovec #5

    avatar

    #2 Martine Váňo, Existuje plugin Nette do PHPStormu a ten ti s tím pomůže ;-)

    před 7 dny | odpovědět

Zanechat komentář

Text komentáře
Kontakt

(kvůli gravataru)



*kurzíva* **tučné** "odkaz":http://example.com /--php phpkod(); \--

phpFashion © 2004, 2017 David Grudl | o blogu

Pokud není uvedeno jinak, podléhá obsah těchto stránek licenci Creative Commons BY-NC-ND Creative Commons License BY-NC-ND

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.