Nusphere PhpED + getService() – ako na autocomplete metód?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
gofry
Člen | 6
+
0
-

V Presenteri používam napríklad

$customer = $this->getService('customer');

Service ‚customer‘ mám nadefinovaný v config.neon

Problém je, že keď potom napíšem

$customer->

tak mi editor (PhpED) nie je schopný ponúknuť zoznam metód triedy Customer, keďže netuší že premenná $customer je typu Customer. Ako by sa to dalo vyriešiť?

Filip Procházka
Moderator | 4668
+
0
-

Musíš tam nacpat mezikrok, který ti umožní našeptávání.

/**
 * @return My\Customer
 */
public function getCustomer()
{
	return $this->getService('customer');
}

Jsou i jiné způsoby, už jsem tu jeden další (lepší) nastiňoval, ale nechce se mi hledat. Zkus zapojit Google :)

Patrik Votoček
Člen | 2221
+
0
-
/** @var $customer My\Customer */
$customer = $this->getService('customer');

nebo tak nejak to bylo

Filip Procházka
Moderator | 4668
+
0
-

Tenhle způsob je taky dobrý, ale vadí mi, že to musím psát všude…

David Grudl
Nette Core | 8228
+
0
-

Stay tuned ;-)

gofry
Člen | 6
+
0
-

Patrik Votoček napsal(a):

/** @var $customer My\Customer */
$customer = $this->getService('customer');

nebo tak nejak to bylo

Super, toto mi zatiaľ postačí, dík

bojovyletoun
Člen | 667
+
0
-

Funguje tento způsob někomu v NetBeans 6.9?

Ondřej Brejla
Člen | 746
+
0
-

V NetBeans to zkus s:

/* @var $customer \My\Customer */
$customer = $this->getService('customer');

Rozdíl je v otevření commentu…v minulém příkladu to byl PHPDoc formát, což tento var type comment rozhodně není ;)

Editoval Ondřej Brejla (21. 11. 2011 13:56)

bojovyletoun
Člen | 667
+
0
-

Už jsem na to přišel → zkusil Alt Enter→ generate type comment, jestli to náhodou bude fungovat.
a přišel na ten rozdíl v /* @var $s Nette\Http\Session */ vs /** @var $s Nette\Http\Session */ ne jednu stranu rád, že to skutečně funguje, na druhou stranu nutkání bodnout nožem do monitoru.

o5
Člen | 416
+
0
-

bojovyletoun wrote:

Už jsem na to přišel → zkusil Alt Enter→ generate type comment, jestli to náhodou bude fungovat.
a přišel na ten rozdíl v /* @var $s Nette\Http\Session */ vs /** @var $s Nette\Http\Session */ ne jednu stranu rád, že to skutečně funguje, na druhou stranu nutkání bodnout nožem do monitoru.

V jaky verzi netbeans? Mam 7.0.1 a pod zkratkou „Alt Enter“ mam z defaultu „Fix code…“. Kazdopadne napovidani mi takto nefunguje:

/* @var $form Form */
$form = $this['form'];
hrach
Člen | 1838
+
0
-

kluci a vsimli jste si, ze vlakno je o phped?

David Grudl
Nette Core | 8228
+
0
-

V poslední dev verzi už lze napsat

$container->session->

a IDE napoví.