Nette cache wrapper a IDE
- Taufic
- Člen | 31
CZechBoY napsal(a):
Co používáš za IDE? PhpStorm to zvládá :-)
PhpStorm, ale možná to používám blbě :D
<?php
$wrapper = $this->cache->wrap([$dbManager, 'getUserName'], $this->defaultDependencies);
$userName = $wrapper($userId);
?>
<?php
class DbManager
{
public function getUserName($userId){
return something_awasome;
}
}
?>
a tahle funkce se tváří že není nikde použitá. Což je logický, protože to zadávám do wrapu jen jako string.
Editoval Taufic (4. 2. 2018 11:03)
- Taufic
- Člen | 31
CZechBoY napsal(a):
A ví PhpStorm o typu
$dbManager
? Ctrl + najetí myší nad proměnnou ti ukáže v tooltipu její typ.
jj, o DbManageru ví. Možná je to nějakým nastavením, ale nenapadá mě pod čím bych to mohl hledat.
Plus je ještě zajímavé, že když nad tím použiju stejným způsobem call_user_func tak to phpstorm rozezná.
Editoval Taufic (4. 2. 2018 12:01)
- CZechBoY
- Člen | 3608
Tak jsem zjistil, že např. u Template::addFilter
mi to udělá
to samé. Je potřeba tam opravit phpdoc a potom už phpstorm chápe, že to je
opravdu callable a ne jen nějaké pole.
PhpStorm totiž nechápe poziční parametry (nebo jak se tomu říká) a musí
je mít pojmenované :-/
Případně by se v tomto případě mohl použít typehint
callable
.
Ve tvém případě je parametr mixed
takže
ještě horší…
Editoval CZechBoY (8. 2. 2018 15:15)
- rumcais1
- Člen | 81
Díky myslel jsem si to jen jsem to našel ještě tady na foru https://forum.nette.org/…e-a-ziskanie . Tak jsem nevěděl.