Latte typehint z presenteru/modelu/entity
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Pavel Kravčík
- Člen | 1195
Nepodařilo se mi přijít na donucení IDE (Netbeans), aby napovídalo správný typ proměnné.
/** Presenter */
class testPresenter
{
public function renderDefault()
{
$this->template->item = $model->getItem(); //vrací typeHint @return \App\EntityItem
}
}
/** Template .latte */
{$item-> //... nenapovídá
Jen tak mimo soutěž, jestli jde IDE nějak říci, aby napovídalo správný typ v latte.
- David Matějka
- Moderator | 6445
@mkoubik netbeans != phpstorm :)
Ale je to jedno, nepodporuje to ani jeden z pluginu :D
- Pavel Kravčík
- Člen | 1195
Nativní podporu ani neočekávám. Spíš nějaký workaround typu:
/** Template */
{? /** @var \App\EntityItem */ }
{$item-> //... napovídá}
Pak se naplno dá využít síla entity v zápise jako:
titulek: {$item->title}
{var $tags = $item->getTags()}
{foreach $tags as $tag}
$tag-> //... napovídá
{/foreach}
Nativně by to byla krása. :) Ale těžko z template hledat, kde všude je volána a co ten presenter/komponenta volá. Takže spíš na začátku latte třeba hledat anotace pro příchozí proměnné nebo něco podobného.
default.latte
/** @var \App\EntityItem $item */
...
zbytek Latte
Editoval kzk_cz (18. 2. 2015 15:23)
- Pavel Kravčík
- Člen | 1195
V Netbeans bohužel ne. Ale přesně takovýhle zápis by se mi líbil. Nezkoušel někdo v phpStorm?