Nusphere PhpED + getService() – ako na autocomplete metód?
- gofry
- Člen | 6
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
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
/** @var $customer My\Customer */
$customer = $this->getService('customer');
nebo tak nejak to bylo
- Ondřej Brejla
- Člen | 746
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
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
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'];
- David Grudl
- Nette Core | 8228
V poslední dev verzi už lze napsat
$container->session->
a IDE napoví.