NetBeans for PHP + Nette a všetko okolo toho

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

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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 :)

22
Člen | 1478
+
0
-

Tady jsi na špatném foru.. přejdi nejdříve sem

Pilda
Člen | 52
+
0
-

Š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
+
0
-

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ě:

  1. Stáhnout a nainstalovat PHPUnit.
  2. Netbeans: Tools | Options | PHP | General | Global Include Path: Přidat cestu k PHPUnit zdrojům.
  3. Netbeans: Tools | Options | PHP | Unit Testing cesta k phpunit.bat (pokud jste instalovali přes PEAR, bude v té samé složce, jako php.exe).

Potom následuje nastavení v projektu:

  1. Project Properties | Sources | Test folder ⇒ Cesta k adresáři s testy.
  2. 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>
  1. 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.
Jan Endel
Člen | 1016
+
0
-

Nepotýká se ještě někdo se stejným problémem ?

Etch
Člen | 403
+
0
-

@Pilec:

Ano potýkám. Začalo mi to dělat předevčírem po reinstalaci PC a nainstalování NetBeans 7.1. Když jsem měl verzi 7.0.1 tak se mi tohle neprojevovalo.

Ondřej Brejla
Člen | 746
+
0
-

Je to fixnuto v dev verzi.

Morlok
Člen | 26
+
0
-

Ja mam v 7.1 a v 7.2dev problem ze ked je trieda s namespace nefunguje mi v nej ctrl+space pre napovedu dostupnych funkci

<?php
namespace FrontModule;

final class DefaultPresenter extends BasePresenter {
     [ctrl+space neukaze ziadne funkcie]
}
?>
Honza Marek
Člen | 1664
+
0
-

co takhle nejdřív napsat metodu a až v ní mačkat ctrl space?

Ondřej Brejla
Člen | 746
+
0
-

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!

http://netbeans.org/…show_bug.cgi?…

Marsme
Člen | 75
+
0
-

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.

Ani
Člen | 226
+
0
-

@Marsme jo to se mi stavá konkrétně na ->where() :D

Marsme
Člen | 75
+
0
-

Ani napsal(a):

@Marsme jo to se mi stavá konkrétně na ->where() :D

Mě už při ->select() …

Ondřej Brejla
Člen | 746
+
0
-

Je tam infinite loop, v patchi 7.1.2 je fixnutý.

ondra310
Člen | 25
+
0
-

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.

Ondřej Brejla
Člen | 746
+
0
-
/* @var $a ModelModel */
$a = $this->context->createModel();
$a->...
regiss
Člen | 61
+
0
-

Vysla nova verze Netbeans 7.3 RC1
Jsou zde 3 nove screencasty pro verzi 7.3 http://netbeans.org/…encasts.html

ic
Člen | 430
+
0
-

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‘ ?

Ondřej Brejla
Člen | 746
+
0
-

Imho to funguje pouze v Javě, v PHP ne.

leninzprahy
Člen | 150
+
0
-

Mě to funguje i v PHP (a „Coding Standards“ mám že to vidím :))

ic
Člen | 430
+
0
-

OK… takže asi měním své Coding Standards aby NetBeansům lépe vyhovovaly. :)

rixi
Člen | 109
+
0
-

nette/tester pre netbeans 8

https://blogs.oracle.com/…upport_added

ondraondra81
Člen | 82
+
0
-

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)

n.u.r.v.
Člen | 485
+
0
-

Hmm, divné – mě od začátku netbenas označí private modře a $prom hnědě…

$this->prom je pak hnědě->zeleně