[addon ComponentTreePanel] ComponentTreePanel
- jasir
- Člen | 746
Nový panýlek, prosím o nápady, komentáře, bugy etc…
Editoval jasir (10. 1. 2011 12:48)
- Filip Procházka
- Moderator | 4668
vypadá to zdařile, jenom jsem teda nepochopil, na co je to dobré :)
- Filip Procházka
- Moderator | 4668
Zdrojáky i metody mám v navigátoru IDE. Pokud by mi to vypisovalo pouze zavolaný signál, vytvořené a připojené komponenty a předané argumenty v metodách, tak možná, ale takhle vidím v podstatě to co vím v IDE. Nebo se pletu?
- jasir
- Člen | 746
Vidíš aktuální strom vytvořených komponent. To v IDE rozhodně neuvidíš.
Metody jsou samozřejmě v IDE, ale zde jsou rozděleny do kategorií + odfiltrovány nepodstatné + rychlý náhled + proklick do ide.
ps. Dal jsem na stránku addonu ještě jeden preview obrázek kde je vidět strom komponent..
Editoval jasir (10. 1. 2011 14:17)
- Mikulas Dite
- Člen | 756
To je divné, nemělo to být opravené v https://github.com/…b05e853b6a06 ?
Editoval Mikulas Dite (11. 1. 2011 9:42)
- ic
- Člen | 430
tak teď je to ještě záhadnější než posledně:
Default instance of DefaultPresenter extends BasePresenter ▼
* Methods ►
o lifecycle (3)▼
+ startup() defined in BasePresenter ►
#
OutOfBoundsException(8) {
"message" protected => "Seek position 16 is out of range" (32)
"string" private => ""
.
.
.
"previous" <span>private</span> => NULL
"xdebug_message" => "
OutOfBoundsException: Seek position 16 is out of range in C:\Program Files\\xampp\htdocs\nette-blog\temp\cache\_Nette.FileTemplate\_ComponentTreePanel ... " (4449)
}</code>
</pre>
a konec… a debugbar se zase nevykreslí.
Zkoušel jsem poslední stable (2.0-alpha 2) i poslední dev verzi nette, ale výsledek je pořád stejný.
- ic
- Člen | 430
jasir napsal(a):
To že se nevykreslí je jasné, prostě to padá. Můžeš se podívat, zda se tady vytvoří pole s řádkami daného souboru?
Edit: Používáš apple, co? To sou určitě ty jejich debilní konce řádek :)
Vyzkoušej to prosím…Fixed
Je to ono… už to funguje…
Sice nemám apple, ale konce řádků jsem měl nastavené jako na applu (v
$sources[$fileName] bylo pole o jednom prvku s celým basepresenterem), když
jsem použil konce řádků unix (v $sources[$fileName] pole s mnoho řádky
basepresenteru) tak všechno funguje.
- Martin
- Člen | 171
Tak jsem dnes prohlédl nejnovější verzi a je to ještě lepší, než jsem čekal. Tak nějak to sedne k mé představě užitečného vývojového nástroje. Vlastně něco podobného se také pokouším vytvořit, alespoň to půjde rychleji a část mohu vynechat. Budeš u 3 Soudků? Rád bych to s někým probral, nerad bych objevoval Ameriku. Možná by nebylo od věci, kdyby tady všichni detailně oznamovali komponenty už v době ideového návrhu. Mě třeba zmátl i Tvůj název, netušil jsem, že to umí i věci, které pracně zprovozňuji v úplně jiném projektu.
Editoval Martin (11. 5. 2011 21:03)
- Martin
- Člen | 171
Už jsem to tu někde popisoval. Okénko (nejspíše rolovací) v DebugBaru, ze kterého by se pouštěl jednoduchý FileManager (ten už mám cca z poloviny hotový – něco jako WebCommander , ale jednodušší s využitím Nette), editor se zvýrazňováním syntaxe (zatím vybírám z několika free javascriptů, psát to od začátku opravdu nebudu), debugger (předběžně jen zastavování na breakpointu a výpis proměnných, krokování až jako další nadstavba, případně teď studuji kód a licenci debuggeru GUBED , zda by nešel přiohnout a zakomponovat).
Dále jednoduché generátory kdečeho, například šablon i css (v prvním návrhu zatím generuji jen css grid). Ono to sice do Nette nepatří, ale mě jako desktopovému programátorovi zvyklému na MSVS chybí možnost tady připravit hezký předběžný výstup na pár kliků. V době Chrome OS a RIA aplikací to občas asi chce i před dokončením šablon mít předběžně formátovaný výstup (třeba teď dělám něco na FB, kde se to hejblátky jen hemží a ještě jsem přitom neobdržel styly).
No a dál co se kdy vyvrbí, asi by se hodil jakýsi „zasouvač“ addonů apod. Nejsem zrovna přítelem myši, nakonec i ten manager vyrábím s klávesnicovým ovládáním, ale přecijen jsou věci, které je nesrovnatelně rychlejší naklikat než poněkud otravně programovat. Souhrnem tedy jakési primitivní Quick Using IDE (odtud zkratka QUIDE či QuIDE), nezávislé na platformě, umožňující rychlý online refaktoring, časem možná i plnohodnotný vývoj aplikace. Zkoušel jsem PHPEd s DBG, nyní dělám na NetBeans s Nette pluginem (mimochodem geniálním, bohužel XDebug i Java dojem dost kazí), pořád to ale není komfort Visual Studia.
A nakonec – Nette se mění, PHP také, kdo jiný než Nette samo bude stále „vědět“, jaké používá struktury a mechanismy. Samozřejmě by tento panýlek měl být přístupný jen po přihlášení s příslušným oprávněním a také jednoduše smazatelný po ukončení vývoje (nejlépe jakési autodelete). Měl bych to v SandBoxu a o víc bych se nemusel starat, snad jen v configu zapsat nějaké superadmin heslo.
Mám ještě jednu motivaci, většinu času jsem u mobilu (QWERTY Nokia) a ne u počítače, nyní však mohu v Opeře Mini tak maximálně prohlížet dokumentaci či psát na fórum (jako třeba zrovna teď), pak bych se mohl plnohodnotně věnovat práci. Takže i částečně dokončené by se to mohlo hodit snad nejen mně.
Edit:
Kdyby někoho zajímalo, jak pokročil vývoj webového IDE, tak zatím částečně funguje Commander (klikem na ikonku továrny v debugbaru). K vyzkoušení je zatím jen přepínání panelů tabulátorem (aktivace nutná klikem myší) a spouštění editoru stiskem F3 po najetí na soubor (ne adresář), editor je nutno rozkliknout z DebugBaru (zatím pilotní návrh, vše bude časem jinak).
Editoval Martin (17. 5. 2011 11:23)
- Filip Procházka
- Moderator | 4668
Můžeš se prosím naučit dělat odstavce? Já bych si to i přečetl ale tuhle sukovanici ničeho fakt nemám sílu louskat…
- jasir
- Člen | 746
Již dlouho panel také umí zobrazovat vyrenderované šablony + hafo
informací o nich.
Je to velice užitečné, ale bohužel se mi nedaří najít způsob, jak se
napojit na vytvoření šablony v rámci registrace doplňku. Zkráceně, rád
bych se napojil někam na „createTemplate“.
V současnosti to řeším tak, ve svém BasePresenteru/Controlu mám něco takového (za použití DebugTemplate z doplňku)
protected function createTemplate($class = NULL) {
$template = parent::createTemplate($class);
....
return \Extras\Debug\DebugTemplate::register($template);
}
To sice funguje, ale je mi jasné, že při instalaci tohoto doplňku to
nikdo neudělá.
Nenapadá někoho, jak se napojit na createTemplate nějak šikovněji,
externě?
- Filip Procházka
- Moderator | 4668
@**jasir**: to mi přijde zbytečné, tohle stačí. Stačí to napojit na Application shutdown event.
- jasir
- Člen | 746
No, nehledě k tomu, že mi to moc nepomůže v mém problému, je tu fundamentální problém – já chci zjistit, jake všechny templaty se podílely na vykreslení stránky, kolikrát byla daná šablona vykreslená a její parametry v okamžiku renderu. Ukážu, co umožnuje můj panel, (aspoň si vyzkouším screener):
..ps tak jsem tím tak nějak proklikal, ty se podívej na část kde rozklikávám šablony (koukni cca na 2:36)