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 | 1180
+
0
-

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.

mkoubik
Člen | 728
+
0
-

Tohle IMHO ten latte plugin nepodporuje. //cc @JanTvrdík

David Matějka
Moderator | 6445
+
+1
-

@mkoubik netbeans != phpstorm :)

Ale je to jedno, nepodporuje to ani jeden z pluginu :D

Pavel Kravčík
Člen | 1180
+
0
-

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)

David Matějka
Moderator | 6445
+
0
-

nefunguje neco jako tohle ?

Pavel Kravčík
Člen | 1180
+
+1
-

V Netbeans bohužel ne. Ale přesně takovýhle zápis by se mi líbil. Nezkoušel někdo v phpStorm?