NetBeans for PHP + Nette a všetko okolo toho
- Ondřej Brejla
- Člen | 746
Zatím ne. Pokud děláš instanci třídy, která je v jiném než aktuálním namespace a nepoužiješ její fully qualified name, tak se ti na onom řádku nabídne hint, který use klauzuli vytvoří.
- bojovyletoun
- Člen | 667
prosím, víte jak pomoci? Když chci použít autocomplete ( Ctrl Space)
např new Simp
->tak se zasekne netbeans na 1/2minutu. A tvoří
se soubor c:\Users\Guest\.netbeans\6.9\var\log\heapdump.hprof o velikosti
480MB.
Zkusím přiložit relevantní část messages.log ve stejné složce:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2760)
at java.util.Arrays.copyOf(Arrays.java:2734)
at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
at java.util.ArrayList.add(ArrayList.java:351)
at org.netbeans.modules.php.editor.indent.FormatVisitor.addFormatToken(FormatVisitor.java:1011)
at org.netbeans.modules.php.editor.indent.FormatVisitor.visit(FormatVisitor.java:859)
at org.netbeans.modules.php.editor.parser.astnodes.Program.accept(Program.java:92)
at org.netbeans.modules.php.editor.indent.TokenFormatter$1.run(TokenFormatter.java:354)
at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:314)
at org.netbeans.modules.php.editor.indent.TokenFormatter.reformat(TokenFormatter.java:344)
at org.netbeans.modules.php.editor.indent.PHPFormatter.reformat(PHPFormatter.java:129)
at org.netbeans.modules.csl.core.GsfReformatTask$1.run(GsfReformatTask.java:105)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:154)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:138)
at org.netbeans.modules.parsing.impl.TaskProcessor$1.call(TaskProcessor.java:200)
at org.netbeans.modules.parsing.impl.TaskProcessor$1.call(TaskProcessor.java:197)
at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:160)
at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:227)
at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:66)
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:197)
at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:106)
at org.netbeans.modules.csl.core.GsfReformatTask.reformat(GsfReformatTask.java:95)
at org.netbeans.modules.editor.indent.TaskHandler$MimeItem.runTask(TaskHandler.java:550)
at org.netbeans.modules.editor.indent.TaskHandler.runTasks(TaskHandler.java:317)
at org.netbeans.modules.editor.indent.IndentImpl.reformat(IndentImpl.java:320)
at org.netbeans.modules.editor.indent.FormatterImpl.reformat(FormatterImpl.java:190)
at org.netbeans.lib.editor.codetemplates.CodeTemplateInsertHandler.run(CodeTemplateInsertHandler.java:347)
at org.netbeans.editor.GuardedDocument.runAtomicAsUser(GuardedDocument.java:344)
at org.netbeans.lib.editor.codetemplates.CodeTemplateInsertHandler.insertTemplate(CodeTemplateInsertHandler.java:263)
at org.netbeans.lib.editor.codetemplates.CodeTemplateInsertHandler.processTemplate(CodeTemplateInsertHandler.java:225)
at org.netbeans.lib.editor.codetemplates.CodeTemplateManagerOperation.insert(CodeTemplateManagerOperation.java:241)
[catch] at org.netbeans.lib.editor.codetemplates.api.CodeTemplate.insert(CodeTemplate.java:107)
- Ondřej Brejla
- Člen | 746
Vyzkoušej poslední dev build, jestli v něm problém přetrvává. Pokud ano, zadej bugu (s message logem pokud možno).
Toto není to správné fórum, kde by si měl reportit bugy NetBeans PHP ;) Díky.
- bojovyletoun
- Člen | 667
Chci být opatrný, slyšel jsem že Netbeans 7 je docela nestabilní zde na foru, tak se chci zeptat, co je na tom pravdy a zda se to zlepšilo? Když si stáhnu Nette pro netbeans, došlo tam k nějakým úpravám?(např se měla měnit práce s latte syntaxí, nová makra)? Mám verzi 0.2.5. Je k dispozici changelog?
- redhead
- Člen | 1313
Co se týče pluginu, tak changelog zde
Měl by obsahovat makra z 2.0 a Latte editor podporuje dynamickou změnu
syntaxe přes {syntax}
makro. (jinak ofiko
téma je tu)
S NetBeans nemám jinak žádné problémy, ovšem mluvím za celek (už nějakou dobu nepíšu skoro žádné PHP, takže pokud by mělo být něco blbě tam, tak o tom nevím).
EDIT: aha, no od verze 0.2.5 se toho změnilo o dost víc :)
Editoval redhead (24. 11. 2011 21:48)
- Zdeno1981
- Člen | 114
Zdravím,
Chci se zeptat, jestli někdo náhodou neřešil stejný problém jako já,
kdy mě přestal NetBeans našeptávat. V podstatě mi nezobrazí žádné
třídy z Nette, u skriptů v projektu se mi zobrazuje červený vykřičník
„Error parsing file“ že nemám uzavřený dokument značkou pro php
?>
Netuším, co se stalo.
- Product Version: NetBeans IDE 7.0.1 (Build 201107282000)
- Java: 1.6.0_26; Java HotSpot™ Client VM 20.1-b02
- System: Windows 7 version 6.1 running on x86; Cp1250; cs_CZ (nb)
- Nette revize: 8a3182e released on 2011–10–11
- Plugin Version: 1.2.0 Source: 1312742937_org-netbeans-modules-php-nette.nbm
Jinak aplikace na localhostu běží bez problému.
Editoval Zdeno1981 (25. 11. 2011 8:03)
- Ondřej Brejla
- Člen | 746
Probůh, lidi, pokud máte problémy s NetBeans, řešte je na oficiální bugzille vám je schopen někdo pomoci…
Jinak řešit 7.0 nemá moc cenu, během pár dní by tu měla být RC verze 7.1.
Jinak osobně také žádnou nestabilitu nepozoruji. Ale je pravda, že občas někdo naříká…nicméně na vlastní oči jsem to neviděl už hodně dlouho.
Editoval Ondřej Brejla (25. 11. 2011 9:01)
- holo
- Člen | 1
cawte borci, mal by som otazku lebo uz 2 dni sa to snazim spojazdnit a nic. Chcel by som zacat programovat v PHP a mam nainstalovany APACHE server a vybral som si program NetBeans 7.1 a napísal som tam zakladny prikaz napr : echo „ahoj“; a spustil som, no ked som zadal do BROWSERU: http://localhost/ahoj.php tak mi vypísalo cely text ako keby som ho upravoval v editore cize aj komentare a znacky tam boli a podobne… neviete mi prosim niekto poradit? ci mi nieco chyba a alebo co mam zle? dik :)
- Pilda
- Člen | 52
Štve mě, že pokud používám code templates, tak musím vždycky najet šipkou o políčko dolu, protože na první místo se mi nevkládá ten požadovaný příkaz, ale něco co má ikonku s oválkem ve kterém je napsané php.
Příklad. Chci vložit podmínku, napíšu if, dám ctrl+mezerník a ta šablona pro if je až na druhém místě. Nikde jsem nenašel nic čím by se to dalo z těch prvních řádků odstranit. V9 někdo jak na to?
Editoval Pilda (9. 2. 2012 19:43)
- llook
- Člen | 407
Mám dva rychlé tipy pro uživatele Netbeans:
Zrychlení Netbeans
Netbeans šíleně zpomalují antiviry, slídící v jeho pomocných
souborech, tj. složka %HOMEPATH%\.netbeans
. Je potřeba tuto
složku ze slídění vyjmout.
Například u Windows Defenderu postupujte přes Ovládací panely ⇒
Zabezpečení ⇒ Windows Defender ⇒ Nástroje ⇒ Možnosti a tam
odscrollujte až skoro dolů a přidejte svůj .netbeans
adresář: http://screencast.com/t/nODZmm29mHt1
Předtím se to skoro nedalo používat, teď úplně v pohodě (starý notebook s 2GB RAM).
Psaní PHPUnit testů
Netbeans umí generovat i spouštět testy, potřebuje k tomu jen trochu konfigurace. Nejdřív globálně:
- Stáhnout a nainstalovat PHPUnit.
- Netbeans: Tools | Options | PHP | General | Global Include Path: Přidat cestu k PHPUnit zdrojům.
- Netbeans: Tools | Options | PHP | Unit Testing cesta k
phpunit.bat
(pokud jste instalovali přes PEAR, bude v té samé složce, jakophp.exe
).
Potom následuje nastavení v projektu:
- Project Properties | Sources | Test folder ⇒ Cesta k adresáři s testy.
- Project Properties | PHPUnit | Use XML Configuration. ⇒ Zde
nastavuji cestu k souboru
phpunit-config.xml
s následujícím obsahem:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false">
</phpunit>
- Project Properties | PHPUnit | Use Bootstrap ⇒ Soubor, který se
includne vždy před spuštěním testů.
Několik věcí z Nette chci mít přednastavených i v testech, především RobotLoader a Laděnku. Ale další věci z bootstrapu, jako systémový DI kontejner, do testů jednotek nepatří. Takže jsem si vytvořil zvlášť
tests-bootstrap.php
:
<?php
// absolute filesystem path to the application root
define('APP_DIR', __DIR__);
// absolute filesystem path to the libraries
define('LIBS_DIR', __DIR__ . '/../libs');
// Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';
$configurator = new Nette\Config\Configurator;
$configurator
->setProductionMode(false)
->setTempDirectory(__DIR__ . '/../temp')
->enableDebugger(__DIR__ . '/../log');
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
Teď je možné spouštět i generovat testy:
- Run | Test Project ⇒ Všechny testy projektu.
- Run | Test File ⇒ Pouze test case k otevřenému souboru s třídou (trochu magie).
- Run | Run File ⇒ Pokud otevřený soubor je test case.
- Tools | Create PHPUnit test v kontextovém menu souboru v navigatoru. Používá PHPUnit Skeleton Generator.
- Ondřej Brejla
- Člen | 746
To je buga…má se ukázat seznam metod k překrytí a vygenerování. Nicméně to máš hlásit na NetBeans bugzillu…tady to nemá co dělat!
- Marsme
- Člen | 75
Nesetkal se někdo s tím že když píše fluent SQL dotazy v Dibi tak Netbeans ve verzi NetBeans IDE 7.1 (Build 201112071828) zamrzne a následně spadne? V žádném jiném případě se mi to nestává pouze když chci psát fluent SQL. Našeptávač zobrazí možnosti ale hned zatuhne celé netbeans.
- ondra310
- Člen | 25
Zdravím, mám dotaz. Zkousim Netbeans misto Eclipse. Kdyz v prezenteru pracuji s typicky s modelem ziskanym z
$this->context->createModel()
tak mi potom k modelu neposkytuji NB zadnou napovedu. Eclipse to zvladal, stacilo mu, ze mel v definici promenne:
/**
* @var ModelModel
*//
a uz vedel o jaky model se jedna. NB funguji, jen kdyz si model vytvorim pomoci new, coz asi neni reseni :-(. Lze tohle nejak vyresit v NB? Diky za napovedu, doufam, ze se to tady jiz neprobiralo a ja to neprehledl.
- regiss
- Člen | 61
Vysla nova verze Netbeans 7.3 RC1
Jsou zde 3 nove screencasty pro verzi 7.3 http://netbeans.org/…encasts.html
- ic
- Člen | 430
Zvýrazňování souvisejících závorek
Ještě mám jeden dotaz obecně k NetBeansům a užitečné funkci
zvýrazňování souvisejících závorek. Když si kliknu na znak
}
tak mě NetBeans stejnou barvou zvýrazní i otevírací
závorku {
. Pokud je takováto otevírací závorka mimo viditelnou
oblast tak mi ji NetBeans ukáže v jakémsi výřezu a vidím tam i číslo
řádku, případně (což je užitečné) i jméno
metody/třídy/funkce/pravidla za kterým otevírací závorka je… tedy za
předpokladu, že není na novém řádku. Což jsem si takto bohužel
zvykl psát.
Takže otázka je taková… je nějak možné aby mi NetBeans napovědělo i název metody/třídy/funkce/pravidla pokud je ta otevírací závorka na novém řádku. Chtěl bych prostě vidět ještě o jeden řádek nad.
Dá se tohle nějak nastavit, nebo prostě musím změnit své ‚Coding Standards‘ ?
- ondraondra81
- Člen | 82
Ahoj,
nevíte někdo jako donutit NetBeans aby když napíšu private
$database; se $database; obarvila stejně jako
proměnná. Obarví se mě jen to $ :(
Zjistil jsem, že v nastavení text & color se dá ta barva změnit pokud změním položku fields jenže ta bohužel obarvý i zápis $this->template→ na stejnou barvu :( což není žádoucí
Editoval ondraondra81 (14. 3. 2014 16:17)