PhpStorm File Templates pro vytvoření více souborů najednou

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

Zdravím,

hodila by se mně možnost nadefinovat si File Template v PhpStormu pro nette komponentu, která by vytvořila:

  1. .php soubor, kde by byla základní struktura komponenty
  2. .latte soubor jako šablona komponenty
  3. .php soubor jako Factory pro komponentu

Neexistuje náhodou nějaké rozšíření, které by to umělo?

CZechBoY
Člen | 3608
+
0
-

 + ve vybraným presenteru vytvořit komponentu :D

Jan Endel
Člen | 1016
+
-2
-

nadefinuj si file templates, o mnoho ti to urychlí vývoj a nepotřebuješ žádné rozšíření :-).

ondrej256
Člen | 187
+
0
-

Možná jsem se špatně zeptal. Vím, že existuje File Templates a používám to.

Problém mám s tím, že lze nadefinovat vytvoření pouze jednoho souboru najednou. Tzn. v mém případě kdy tvořím často 3 soubory zároveň (komponentu, šablonu komponenty a továrnu na komponentu) musím třikrát klikat a tvořit 3× po jednom souboru.

Uvítal bych kdyby šlo kliknout pouze jednou pro vytvoření komponenty a vytvořily by se všechny 3 soubory zároveň. Takovou možnost jsem nikde nenašel a tak se ptám zda není nějaké rozšíření, které by tuto funkcionalitu umožňovalo

chemix
Nette Core | 1310
+
+6
-

Osobne premyslim na tyto veci mrknout Yoman http://yeoman.io a zkusit pripravit generator vhodny pro nette. Byl by zajem?

Martk
Člen | 661
+
0
-

Já jsem to řešil pomocí kdyby/console (jednoduché generování + vytváření šablon). Stačilo přes konzoli v phpstormu spouštět něco ve stylu php index.php add:component MyComponent a soubory se mi vygenerovali, protože přes live templates jsem to nechtěl dělat.

Azathoth
Člen | 495
+
0
-

@Antik a neuvažuješ o tom, že bys ten command vypustil jako open source?

Šaman
Člen | 2665
+
0
-

Ahoj, tohle mě zájímá – jak to dělat mimo PhpStorm (v NetBeans nebo úplně mimo IDE).
Potřebuji vytvořit několik souborů (řekněme entitu, repozitář a prázdný formulář), upravit jejich názvy (UserEntity.php, …) a uvnitř několikrát dosadit jméno (class UserEntity, property $userRepository) jen je ještě nutné přitom dosazování dodržovat zda má být první písmeno velké, nebo malé.

@Antik: umí tohle to tvé řešení s kdyby/console? Jestli ano, aspoň vim, kterým směrem se vydat. Kdyby zatím používám jen sporadicky.

Martk
Člen | 661
+
+1
-

@Azathoth To by nešlo, protože většina projektů má svojí vlastní strukturu aplikace.

@Šaman Ano, něco podobného generují v kdyby/console.

Jestli budete chtít, tak mužů někde nasadit ukázkové kódy.

Azathoth
Člen | 495
+
0
-

@Antik struktura by se mohla nastavovat v configu, jestli jde jen o to…

Tomáš Jacík
Člen | 147
+
0
-

@chemix Scaffolding bych ocenil, ale v PHP. Yeoman mi přijde spíše jako nástroj na frontend appky a zavádí další závislosti (nodejs, npm, grunt, …). Hodlám to dřív nebo později psát, tak bych se klidně aktivně angažoval, kdybys to chtěl udělat v PHP, třeba nad Kdyby/Console.

@Antik Zájem určitě je.

chemix
Nette Core | 1310
+
+1
-

Jsem toho nazoru ze to ma byt „externi“ vec a ne soucast aplikace. Ale rad si to necham vysvetlit, ze se mylim a ze je to na stejne urovni jako treba db migrace

David Kudera
Člen | 455
+
+2
-

@chemix taky se tak trochu přimlouvám víc za yeoman, přece jen je to přímo tool na to tvořený a teď už má stejně většina projektů frontend závislosti přes bower, npm apod., s nějakými tasky přes gulp nebo grunt (teda aspoň doufám :-D)..

Martk
Člen | 661
+
0
-

@chemix S yeomanem jsem se ještě nesetkal, tak nevím jak by to fungovalo, ale jestli by jsi to udělal a to řešení by se mi líbilo, tak bych to určitě používal a nahradil za console. Použití console jsem volil hlavně z důvodu, že jsem to chtěl mít napsané rychle a na ostré aplikaci vynechávám tyto commandy.

Jednoduchá ukázka: Gist (Je to opravdu jenom simple, nekontroluje to zda existuje soubor, zda třída existuje apod.)

castamir
Člen | 629
+
0
-

Malý nástřel, jak bude vypadat můj generátor. Napsal jsem to teď ráno, ale hotové to ještě není… zkusím dodělat večer…

castamir
Člen | 629
+
+2
-

Hotovo. Můžete vyzkoušet.

Jde to spouštět jak přes Symfony konzoli, Kdyby konzoli tak i mou vlastní konzoli. Návod k použití je v README.

Pokud budete mít nějaké připomínky, tak prosím do issues na githubu.

Editoval castamir (1. 9. 2015 20:07)

chemix
Nette Core | 1310
+
+1
-

Zkousim si Yeoman-a a vypada to pekne https://github.com/…erator-nette

zatim to umi vygenerovat jen componentu a defaultni generator stahne zavyslosti skrze nainstalovany composer, takze zadna slava, ale to prijde :)

npm install -g yo
npm install -g generator-nette

a pak v rootu projektu yo nette:component fileManager

todo:

  • app: pokud neni composer, tak ho stahnout svepomoci a spoustet lokalne https://github.com/…app/index.js#…
  • app: pridat do sablony vse z nette-webproject
  • app: prompt na databazi?
  • component: namespace ?
  • generator pro presenter
  • ??? napady vitany, issues
chemix
Nette Core | 1310
+
0
-

zalozil jsem samostatne vlakno https://forum.nette.org/…tte-projekty#…