Closed janmarek closed 11 years ago
Nette predsa štandardne klauzulu use
uvádza:
use Nette;
a následné @var Nette\Http\IRequest
je podľa mňa je už len relatívny odkaz.
To je fakt, ještě na to kouknu a případně znovuotevřu.
Podľa tohto komentára sa zdá, že to fixli v bete už 5.januára...
Teď mám PhpStorm 3.0.2 a velká část typehintových komentářů v něm nefunguje (a nebude).
http://youtrack.jetbrains.net/issue/WI-5789 se tváří, že je to vyřešené. Nevidím důvod, proč by se nette mělo přizpůsobovat.
Protože vývojáři s PHPStormem jsou taky lidi a framework by měl lidem pomáhat? Klidně udělám pull, takže to bude bezpracné, ale chci to mít předem schválené.
... zrovna dneska jsem na to narazil ... a je to docela otravne :) jsem pro zavedeni toho absolutniho zapisu ...
Porad nechapu, kde je vypnenny na jetbrains patricny bug. Odkazovany bug v uvodnim postu (WI-7162) je opravdu wont-fix. Vsechny ostatni, co sem nasel jsou duplicated WI-5789, ktery se tvari byt zavreny jako OPRAVENY. Takze pokud to porad nefugnuje, je resenim ho otevrit, pripadne udelat novy.
Nenecháme si srát na hlavu :) http://youtrack.jetbrains.com/issue/WI-9968
nice :) btw jestli tam jde upravovat tak si oprav 'wery popular PHPDoc' :)
Sic moc nechapu, proc tam mas jinou tridu a jinou phpdoc, ale konecne krok spravnym smerem :)
Takže než to v PHPStormu ve 4 opravěj, co to takhle opravit v Nette? :D
@HosipLan, v tom príklade by fakt chcelo opraviť tie namespacy. Aj keď je jasné, čo chceš povedať, príklad to neukazuje :)
Chce to dva namespacy, jeden pre kontajner, druhý pre input:
<?php
namespace Nette\Forms;
use Nette;
class Container
{
private $controls;
/** @return Nette\Forms\Controls\TextInput */
public function addText($name)
{
return $this->controls[$name] = new Controls\TextInput;
}
}
//----------------------------------------
namespace Nette\Forms\Controls;
class TextInput
{
private $value;
/** @return string */
public function getValue()
{
return $this->value;
}
}
Požadavků na změnu frameworku kvůli určitému editoru (který je klidně 1000x populárnější než celé nette, ale to rozebírat nechci), tu už bylo víc. Řešit to na úrovni kódu se mi to fakt nechce, to je jako předčasné escapování. Vhodnější je to provést na úrovni generování balíčků.
Zrovna v tomto případě by bylo ještě lepší, kdyby se ApiGen chopil potřeby mít nový standard a definoval jej. Jednak by tím získal renomé, a hlavně by bylo možné sjednotit anotace podle standardu, nikoliv aktuálních "chyb" používaných nástrojů.
Vhodnější je to provést na úrovni generování balíčků.
Pokud používám Nette jako submodul, tak je mi to k ničemu.
Díky @kravco
@dg má pravdu, je to bug v phpstormu. Prostě neumí to, co umí jazyk, ergo by se s tím mělo poprat IDE.
Během zítřka snad konečně začne ten popis anotací vznikat.
V Nette se používají komentáře ve tvaru @var Nette\Http\IResponse, což však v PHPStormu nefunguje a nechtějí to řešit. Absolutní jména se zpětným lomítkem na začátku nebo relativní jména, která jsou nahoře v use, normálně fungují. Sice by to měl řešit podle mého spíše PHPStorm, ale už se před ním sklonili i velikáni jako Doctrine nebo Symfony.