Netbeans Nette Framework Plugin

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

NetBeans Nette Framework Plugin (Download)

EDIT: Podpora pro Nette je součástí NetBeans 8 jako PHP plugin.

Editoval redhead (8. 5. 2014 10:45)

Lopata
Člen | 139
+
0
-

Respekt. Vynikající práce. Děkuji :-) Půjde to někde stáhnout…?

Editoval Lopata (11. 6. 2010 18:35)

Aurielle
Člen | 1281
+
0
-

Vypadá to naprosto luxusně, great job :)
Dotaz: bude NetBeans řvát o nevalidní syntaxi jako doteď když použiji makro třeba ve skriptu nebo to tento plugin řeší?

Filip Procházka
Moderator | 4668
+
0
-

respekt ! Kde se to dá stáhnout? :)

Editoval HosipLan (11. 6. 2010 18:56)

MarcoSharper
Člen | 2
+
0
-

Chachá! ;) K večeři budou NetteBeans :D (každopádně u PHP zůstávám)

Majkl578
Moderator | 1364
+
0
-

Super práce!
K tomu co by měl umět, když koukám na ukázkovou šablonu, určitě by se nemělo zapomenout na fajnový n: zápis.

Pokud by ses stavil u nás v Jabber místnosti, mohli bysme ve více lidech podiskutovat. ;)

JakubKohout
Člen | 92
+
0
-

klobouk dolu, výborná práce ;)

Patrik Votoček
Člen | 2221
+
0
-

Prvně chci říct Super Práce.

vytvoří základní adresářovou strukturu (app, document_root) se soubory index.php, config.ini, bootstrap.ini, .htaccessy (plánuje se nabindování na lokální nebo i vzdálený balík s Nette Frameworkem)

Řeší to rozbalením skeletonu?

Pro jakou verzi Nette to děláš (0.9.x / 1.x – 5.2 / prefixed / namespace) ?

Návrhy:

  • create new presenter
  • create new component / control
  • kdyby to umělo i někde nastavovat seznam anotací taky by to bylo super
Ondřej Mirtes
Člen | 1536
+
0
-

Dokonalost, jsi génius! :) Tohle je projekt, který si zaslouží maximální pozornost!

Návrhy na funkcionalitu:

  • Mohlo by to projít beforeRender + render + createTemplate metody, které souvisí s danou šablonou (tudíž asi projít celou související hierarchii presenterů) a napovídat nastavené proměnné přes $this->template
  • To samé s {widget} makrem a továrničkami
  • Napovídání helperů (alespoň těch defaultních, přidávání vlastních helperů může mít každý udělané dost jinak a zjistit univerzálně jejich seznam asi nejde – leda, že bys spouštěl php(.exe) a vykuchal si obsah objektu Template :o) Což ovšem není úplně blbej nápad, jak vyřešit elegantně první bod! O výkon bych se nebál, Javu si NetBeans prý taky průběžně kompilují a spouští…
  • Napovídání {block}ů z nadřazených šablon – včetně možného doplňování {include #parent}
  • Napovídání dostupných layout souborů v {extends}
  • Napovídání actionů a Presenterů v {link}/{plink}

Vypadá to jako hodně práce, ale na jejím konci by byla další killer feature Nette, kterou by se dalo ohánět na přednáškách a konferencích ;)

Honza Marek
Člen | 1664
+
0
-

Dobře ty!

redhead
Člen | 1313
+
0
-

Dotaz: bude NetBeans řvát o nevalidní syntaxi jako doteď když použiji makro třeba ve skriptu nebo to tento plugin řeší?

Zatím to neřve (viz obrázek úplně dole), ale spíš je to tím, že neřve ani u špatného čistého JS (zatím nevím, jesli bude fungovat obojí, mělo by)

n: zápis atributů

Mám v TODO

Pro jakou verzi Nette to děláš (0.9.x / 1.x – 5.2 / prefixed / namespace) ?

Návrhy:

  • create new presenter
  • create new component / control
  • kdyby to umělo i někde nastavovat seznam anotací taky by to bylo super

Na skeleton to pak navěsím, pokud to bude z nějakého local/remote balíčku (zatím se to generuje natvrdo v kódu)

Zatím se to týká hlavně šablon, takže nic jiného neřeším, ale asi bych byl pro 1.0

Akce na vytvoření mám v TODO. Anotace by byly zajímavé!

Ondřej Mirtes napsal(a):

  • Mohlo by to projít beforeRender + render + createTemplate metody, které souvisí s danou šablonou (tudíž asi projít celou související hierarchii presenterů) a napovídat nastavené proměnné přes $this->template

To už je částečně implementované pro celý presenter (podle části jména šablony/složky najde presenter), pro jednotlivé view to budu dodělávat (horší to bude, když se něco bude nastavovat, třeba v basepresenteru, ale to nějak pořeším..

  • To samé s {widget} makrem a továrničkami

To mám v TODO

  • Napovídání helperů (alespoň těch defaultních, přidávání vlastních helperů může mít každý udělané dost jinak a zjistit univerzálně jejich seznam asi nejde – leda, že bys spouštěl php(.exe) a vykuchal si obsah objektu Template :o) Což ovšem není úplně blbej nápad, jak vyřešit elegantně první bod! O výkon bych se nebál, Javu si NetBeans prý taky průběžně kompilují a spouští…

Helpery a makra by se měla nějak uživatelsky nastavit, také v TODO.

  • Napovídání {block}ů z nadřazených šablon – včetně možného doplňování {include #parent}

Uvidíme jak to bude se složitostí takového řešení, ale dobrý nápad, uvidíme.

  • Napovídání actionů a Presenterů v {link}/{plink}

Mám v TODO

Vypadá to jako hodně práce, ale na jejím konci by byla další killer feature Nette, kterou by se dalo ohánět na přednáškách a konferencích ;)

Bohužel je to fakt dost práce plus ještě v NetBeans (a v Javě nejsem taky kde jak geniální). Uvidíme kam to dotáhnu. Jsem známý nedoděláváním svých projektů :D

Patrik Votoček
Člen | 2221
+
0
-

Btw kde je tlačítko DONATE! ???

Honza Marek
Člen | 1664
+
0
-

Jinak ještě když koukám na ten screenshot, tak makra {/ifCurrent} a {/ifset} asi nebudou fungovat.

redhead
Člen | 1313
+
0
-

vrtak-cz napsal(a):

Btw kde je tlačítko DONATE! ???

Bodlo by. Sháním brigádu :)

Jinak ještě když koukám na ten screenshot, tak makra {/ifCurrent} a {/ifset} asi nebudou fungovat.

To je bug. Interně tam je správně /if, někde asi špatně proměnná. Díky


Ke stáhnutí to nedám, dokud to nebude nějak dostatečně odladěné, zatím moc nefunguje doplňování kódu, změna barvy syntaxe (nechápu proč, v nastavení se to objeví, ale neaktualizují se změny :( ). Dále pak doplňování HTML, CSS, JS a hlášení jejich chyb (nevím proč :( )

Cesta bude dlouhá a strastiplná.

Kdyby se chtěl někdo přidat, budu rád (plánuju to hodit na github).

redhead
Člen | 1313
+
0
-

Dále mě napadlo akce smazat cache (celou nebo jednotlivé položky), session přes nějaké menu.

Honza Marek
Člen | 1664
+
0
-

Určitě to předveď na Poslední sobotě. Když řekneš i něco o základech Netbeans API pro tvorbu pluginů, určitě se někdo přidá. Já bych o tom zauvažoval, javu trochu umim. Možná když s tím vývojem budeš mít nějaké problémy, zkus zkontaktovat Petra Pišla přímo z Netbeans, na WebExpu vypadal docela vstřícně.

Ondřej Mirtes
Člen | 1536
+
0
-

Souhlas, určitě to předveď na Poslední sobotě a řekni něco o tom NetBeans API, pokud to dáš na GitHub, pokusím se taky přiložit ruku k dílu :)

Donate tlačítko++

redhead
Člen | 1313
+
0
-

Děkuji za hezké reakce :)

Dneska se mi to už nechce dělat a zítra jedu na internetem zapomenutou chatu, takže až večer nebo v neděli to tam nahodím.

na1k
Člen | 288
+
0
-

Vypadá to naprosto awesome! ;-)

Lopo
Člen | 277
+
0
-

tak toto urcite budem sledovat … a uz teraz tusim ze v urcitom momente to moze byt dovod preco prejdem zo ZendStudia na Net(te)Beans :)

Roman Ožana
Člen | 52
+
0
-

Díky, díky, díky, díky vřelé díky

mancze
Člen | 58
+
0
-

donate++. Moc dobré!

Editoval mancze (12. 6. 2010 17:07)

edke
Člen | 198
+
0
-

Ak zriadis nejaky paypal, resp. nieco obdobne, isto pojde donate odo mna !

JakubS
Člen | 15
+
0
-

Donate++

Šlo by doplnit funkci odkazování z presenterů do šablon a obráceně?

Honza Kuchař
Člen | 1662
+
0
-

První co mě napadlo, najdi číslo účtu a podpoř vývoj. (Javu neumím)

Skvělá práce! Určitě na to založ extra stránku na wiki. Otázka je, kam to zařadit, do doplňků? Asi ne. Chtělo by to někoho co se psaní dokumentace týče zkušenějšího.

Honza Kuchař
Člen | 1662
+
0
-

Lopo napsal(a):

Net(te)Beans :)

To je fajn název! NetteBeans :-)

Lopo
Člen | 277
+
0
-

Honza Kuchař napsal(a):

Lopo napsal(a):

Net(te)Beans :)

To je fajn název! NetteBeans :-)

mno nebol som prvy kto to pouzil – citovat by si mal skor

MarcoSharper napsal(a):

Chachá! ;) K večeři budou NetteBeans :D (každopádně u PHP zůstávám)

mue
Člen | 8
+
0
-

Vypadá to nadějně – dokonce mne to donutilo zkusit po pár letech Netbeans a NuSphere PhpEd je odinstalovaný.

V rámci tohoto pluginu by se mi líbila jedna věc (nevím, jak moc je to realizovatelné) – v „doplňování kódu“ (nevím jak přesně to nazvat, taková ta šikovná věc, která po napsání části vlastností/metody navrhne odpovídající metody a funkce – napíšu:

<?php
$obj->t
?>

A ono to nabídne doplnění na

<?php
$obj->test
?>

Líbilo by se mi, pokud by plugin poznal že objekt je odvozený od Nette/Object a nabízel i proměnné definované přes getter/setter

Mikulas Dite
Člen | 756
+
0
-

To NB poznají automaticky, ale musí mít v metodě z které se získávají správnou @return anotaci. Dělat to jinak je overkill.

Majkl578
Moderator | 1364
+
0
-

mue napsal(a):

Líbilo by se mi, pokud by plugin poznal že objekt je odvozený od Nette/Object a nabízel i proměnné definované přes getter/setter

To lze nastavit pomocí @property, @property-read a @property-write nad definicí třídy.

redhead
Člen | 1313
+
0
-

Tak na GitHub to nenahraju, přestal mi doma fungovat net :( Tak někdy budoucnu (snad)

Jinak jsem krapet pokročil. Dodělal nějaké to dokončování kódu presenterů (včetně modulů), proměnných, controlů, helperů, ale rozhodně to není žádná finální verze.

A rozchodil jsem dokončování a hlášení chyb v html, css, javascriptu a neřve to pokud se vloží macro do nějakého z nich v syntaxi špatné vůči onomu jazyku.

Zatím to není napojené na žádný package ani webový server, zatím se snažím rozchodit hlavně Latte šablony.

Poslední 2 dny jsem se mořil s n:atributy, několikrát přepisoval celý kód a stejně jsem na to nepřišel, tady asi bude velký problém..

Buildnutý plugin dám k dispozici co nejdříve (až mi půjde net).

A také si dnes půjdu zařídit Internet Banking, což už odkládám asi rok.. :)

sodae
Nette Evangelist | 250
+
0
-

tak tohle si určitě zaslouží donate a potlesk!, jen si ještě počkat až to vyjde :-)

Honza Kuchař
Člen | 1662
+
0
-

Tak to je opravdu perfektní! Že to bude někdy umět takovéto věci, jsem tedy nečekal. ;-)

Ondřej Brejla
Člen | 746
+
0
-

Prostě paráda :-) S Javou jsem kamarád, takže pokud to šoupneš na GitHub a budu mít trochu času, rád vypomůžu :-)

mkoubik
Člen | 728
+
0
-

Ondřej Brejla napsal(a):

Prostě paráda :-) S Javou jsem kamarád, takže pokud to šoupneš na GitHub a budu mít trochu času, rád vypomůžu :-)

+1

Lopo
Člen | 277
+
0
-

tiez som uz mal moznost cuchnut k Jave … takze ak by sa nahodu naslo nieco s cim dokazem pomoct, rad tak urobim

AdamSurak
Člen | 16
+
0
-

Parádní. Rozhodně donate ;)

potapnik
Člen | 127
+
0
-

Ve chvíli, kdy budou NetBeans umět vyrobit kostru Nette projektu s parsery, inline nápovědou a vším co tady pánové přede mnou zmínili, tak to vidím na killer Nette extras roku 2010, protože to co vidim na screenshotech je náznak budoucího luxusu. Jenom aby potom Nette vývojáři nebyli moc zhejčkaný (vize do budoucna: spustím NetBeans, vyberu novej Nette projekt, zaškrtám moduly, který budu chtít – ne jako teď kopíruju, kopíruju ;-) – Articles, Gallery, Forum, Administration, Wiki, stisknu finish project, drobně upravím šablony, CSSko, JS a publikuju na FTP úplně novej web, případně si doprogramuju nějakou specifickou funkci… hm hm tahle vize nevypadá špatně…).

sodae
Nette Evangelist | 250
+
0
-

potapnik: tak taková vize by byla jedině, jestli by nette mělo nativní Administraci (CRUD, Scaff. či něco podobného), zatim nic takového nemá (možna časem), zatím, jestli chceme mít základ hotový, musíme použít Nellu (existuje ještě další CMS na Nette?) nebo vlastní výtvor, a u Nelly víc jak jeden (Pages) integrovaný modul není, co ja vím.

Editoval sodae (15. 6. 2010 16:56)

potapnik
Člen | 127
+
0
-

Nejde mi o Nellu apod. jde mi o to, že mám hotové některé moduly (příklad – fórum, wiki) a že bych je při vytváření nového projektu prostě jenom zaškrtnul, že je chci použít v nové aplikaci a automaticky by se mi nahrály do app…ostatní – konfigurace bootstrapu a config.ini – to zvládnu, jen mě občas otravuje, že při vytváření nového projektu kopíruju něco, co za mě NetBeans můžou udělat samy, jestli mi tu teda někdo rozumí :-)

Honza Kuchař
Člen | 1662
+
0
-

@potapnik: No tak to je podle mne už příliš velká lenost. Kolikrát za den tuto proceduru podstupuješ? Já tak 1–2× do měsíce. :-)

jarks
Člen | 94
+
0
-

Tohle vypadá úžasně! Pracuju v NetBeans něco přes rok a jsem s nimi celkem spokojen. Pro editaci větších šablon ale používám Aptana Studio 1.5. V poslední době se v NetBeans objevil plugin pro Smarty, ale pořád to není ono. Přímá podpora pro Nette by byla splněním snu. Vůbec bych nepožadoval vytváření projektu ani jiné zvláštnosti. Úplně by mi stačilo pořádné zvýrazňování veškeré syntaxe a napovídání. Držím palce.

redhead
Člen | 1313
+
0
-

NetBeans Nette Framework Plugin v1.0 (Download)

Tak tu mám pro vás první verzi. Bohužel se mi stále nepodařilo rozchodit uživatelskou změnu barev a písma.

Zvládá:

  • vytvořit nový Nette Framework projekt (New Project → PHP Application → 3× NEXT → zaškrtnout → FINISH)
  • jednoduchou adresářovou strukturu bez Nette Frameworku:
    • app/
      • temp/
      • sessions/
      • log/
      • config.ini
      • bootstrap.php
      • .htaccess
    • document_root/
      • css/
      • js/
      • images/
      • index.php
      • .htaccess
  • v Projects window schovává pro vývoj nepodstatné složky sessions, logs, temp
  • obarvuje syntaxi maker .phtml souborů s mime-type text/latte-template (viz instalace)
  • napovídá
    • makra příp. doplňuje jejich uzavírací makra
    • globální proměnné pro šablony ($control, $presenter, $basePath, ..)
    • proměnné poslané z presenteru (všechny proměnné, nejen z onoho view, bude fixed)
    • proměnné obsažené v makrech for, foreach (i $iterator), assign, var, default
    • :moduly:presentery: pro (p)link
    • komponenty z továrniček onoho presenteru (musí se vyřešit dědičnost presenterů) pro widget, control makra
    • helpery (po nalezeném znaku pajpy | )
    • globální šablony se znakem @ na začátku pro makra include, extends

Co se musí vyřešit

  • nejdůležitější je teď napsat licenci, která se ukáže při instalaci :)
  • n:tagy a n:atributy (u atributů funguje napovídání a doplňování, ale obarvení ne – po otevření souboru je obarveno, jakmile text změním, obarvení je pryč → defaultní HTMLovské, netuším..)
  • dědičnost a vůbec celé propojení šablon s php třídami (nejlépe to rozjet přes PHP interpreter a zobat z reflexí tříd informace ⇒ budu študovat)
  • nastavení barev a písma v nastavení
  • napojení na staženou složku s frameworkem, využití Skeletonu
  • nějaká výkonnostní optimalizace (mému noťasu to občas dává zabrat :( )
  • a mnoho dalšího na co si nemůžu vzpomenout

DOWNLOAD & INSTALACE

!! Pouze pro NetBeans verze 6.9 !!

[UPDATED (viz nefunkčnost v dalších příspěvcích)]:

Verze pro 6.9 beta a RC2: http://www.utf-8.cz/…ramework.zip

Verze pro 6.9 final: http://www.utf-8.cz/…rk_final.zip


V NetBeans: Tools → Plugins → záložka Downloaded → Add plugins… → vybrat soubor .nbm → Install

Pak už by jste měli mít možnost ve výběru PHP Frameworků při vytvoření nového projektu.

Pokud se soubory .phtml nebudou obarvovat je nutné v Tools → Miscellaneous → Files změnit pro příponu .phtml mime-type na text/latte-template

Enjoy!

PS: snad vám bude fungovat ;)

Editoval redhead (17. 6. 2010 21:36)

Majkl578
Moderator | 1364
+
0
-

The plugin PHP APIs is requested in implementation version 201005312001.

Tak bohužel nevyzkouším. :S

EDIT: Používám final verzi 6.9.

Editoval Majkl578 (17. 6. 2010 19:23)

nAS
Člen | 277
+
0
-

Dopadl jsem stejně jako Majkl578. Ale index očekávání už je vysoko nad bodem varu :)

Aurielle
Člen | 1281
+
0
-

Taky bohužel nevyzkouším, NetBeans jsou 6.9 final stažené před chvílí.

davidm
Člen | 81
+
0
-

Stejnej problém :(

sodae
Nette Evangelist | 250
+
0
-

problem++

redhead
Člen | 1313
+
0
-

Ach jo.. Já věděl, že to tak lehce nepůjde. Mohu se zeptat jaký bundle máte? Pouze PHP nebo nějaký Javový nebo full?

Panda
Člen | 569
+
0
-

problem--

Snad se na mě autor pluginu nebude zlobit, když jsem z archivu vyřízl tu jednu ošklivou závislost na konkrétní verzi PHP API: netbeans-netteframework.zip.