Inleiding
Ik programmeer al een geruime tijd in PHP, zowel kleine als grote projecten. In al deze tijd heb ik nooit gebruik gemaakt van een IDE en/of debug mogelijkheden. Het debuggen zelf deed ik in de applicatie zelf. Dit was meestal voldoende. Echter krijg ik nu (pas?) door dat het een gebruik van een IDE veel tijd kan besparen. Zowel in het ontwikkelen zelf (code completion, syntax controle's etc.) als met debuggen. De mogelijkheid om breakpoints te selecteren en door je programma heen te "bladeren" is natuurlijk ideaal.
Achtergrond
Ik heb geen formele programmeer opleiding genoten; ik ben begonnen als systeembeheerder > systeem specialist > webdeveloper. Voor het overgrote deel autodidact.
Development omgeving
Ubuntu Server (op vmware ESX) met Apache 2.x/PHP 5.x/Mysql
Vista werkstation met SMB toegang tot de development server. Editen met Notepad++.
Doel
Ik wil gebruik gaan maken van een IDE voor met name grotere PHP projecten. Dit kunnen projecten zijn op basis van frameworks (bv. Codeigniter/Cake etc.) maar ook bestaande (OS) applicaties (Expression Engine / Joomla / MediaWiki etc.).
Hoe groter het project, zeker als je andermans code moet debuggen, hoe lastiger het wordt. Juist in dit soort situaties lijkt mij het gebruik van een IDE ideaal.
Wat heb ik gedaan?
Afgelopen weekend heb ik Netbeans getest in combinatie met xdebug op de development server. De interface van Netbeans bevalt me erg goed, en het debuggen van "enkele" scripts werkt prima. Waar ik echter tegen aan looop is dat ik NIET weet hoe ik precies met een IDE moet omgaan voor grotere projecten.
In het geval van netbeans/xdebug edit je een script en als je gaat debuggen stuurt hij een request naar de webserver. De xdebug module kijkt naar eventuele breakpoints en stuurt informatie terug naar Netbeans. (Als ik het goed begrijp).
Uiteraard heb ik de documentatie doorgelezen en wat screencasts bekeken.
Concrete vraagstukken
Allereerst (ik besef dat dit een algemene vraag is) hoe pak je debuggen met een IDE het beste aan voor een PHP project?
Netbeans roept de url aan van een script wat je wilt debuggen, maar ik maak vaak gebruik van search engine friendly urls waardoor het direct aanroepen geen zin heeft, en soms zelfs helemaal niet werkt. Wat je zou willen is een custom url opgeven, eventuele POST en/of GET variabelen meegeven en op basis daarvan debuggen.
Zou je bijvoorbeeld een breakpoint kunnen zetten op het aller aller begin van een applicatie (die bijvoorbeeld de SEF regelt, libraries include etc.) en echt stap voor stap door je programma (dus ook de verschillende includes) heenstappen terwijl je je debug sessie niet initieel op dat script bent gestart (url). b.v. http://server/app/supapp/blabla.html. Intern wordt dan alles eerst naar /index.php geleid en die verwerkt dan verder de url segments.
Tot zover een paar direct vragen, maar kan me voorstellen dat ik eventueel met meer vragen ga komen. Als iemand mij op weg zou willen helpen, graag!
Ook als je geen Netbeans ervaring hebt, hoor ik graag reacties. Het is dat ik dat nu als eerste geprobeerd heb, maar ik sta open voor andere IDE's.
Ik programmeer al een geruime tijd in PHP, zowel kleine als grote projecten. In al deze tijd heb ik nooit gebruik gemaakt van een IDE en/of debug mogelijkheden. Het debuggen zelf deed ik in de applicatie zelf. Dit was meestal voldoende. Echter krijg ik nu (pas?) door dat het een gebruik van een IDE veel tijd kan besparen. Zowel in het ontwikkelen zelf (code completion, syntax controle's etc.) als met debuggen. De mogelijkheid om breakpoints te selecteren en door je programma heen te "bladeren" is natuurlijk ideaal.
Achtergrond
Ik heb geen formele programmeer opleiding genoten; ik ben begonnen als systeembeheerder > systeem specialist > webdeveloper. Voor het overgrote deel autodidact.
Development omgeving
Ubuntu Server (op vmware ESX) met Apache 2.x/PHP 5.x/Mysql
Vista werkstation met SMB toegang tot de development server. Editen met Notepad++.
Doel
Ik wil gebruik gaan maken van een IDE voor met name grotere PHP projecten. Dit kunnen projecten zijn op basis van frameworks (bv. Codeigniter/Cake etc.) maar ook bestaande (OS) applicaties (Expression Engine / Joomla / MediaWiki etc.).
Hoe groter het project, zeker als je andermans code moet debuggen, hoe lastiger het wordt. Juist in dit soort situaties lijkt mij het gebruik van een IDE ideaal.
Wat heb ik gedaan?
Afgelopen weekend heb ik Netbeans getest in combinatie met xdebug op de development server. De interface van Netbeans bevalt me erg goed, en het debuggen van "enkele" scripts werkt prima. Waar ik echter tegen aan looop is dat ik NIET weet hoe ik precies met een IDE moet omgaan voor grotere projecten.
In het geval van netbeans/xdebug edit je een script en als je gaat debuggen stuurt hij een request naar de webserver. De xdebug module kijkt naar eventuele breakpoints en stuurt informatie terug naar Netbeans. (Als ik het goed begrijp).
Uiteraard heb ik de documentatie doorgelezen en wat screencasts bekeken.
Concrete vraagstukken
Allereerst (ik besef dat dit een algemene vraag is) hoe pak je debuggen met een IDE het beste aan voor een PHP project?
Netbeans roept de url aan van een script wat je wilt debuggen, maar ik maak vaak gebruik van search engine friendly urls waardoor het direct aanroepen geen zin heeft, en soms zelfs helemaal niet werkt. Wat je zou willen is een custom url opgeven, eventuele POST en/of GET variabelen meegeven en op basis daarvan debuggen.
Zou je bijvoorbeeld een breakpoint kunnen zetten op het aller aller begin van een applicatie (die bijvoorbeeld de SEF regelt, libraries include etc.) en echt stap voor stap door je programma (dus ook de verschillende includes) heenstappen terwijl je je debug sessie niet initieel op dat script bent gestart (url). b.v. http://server/app/supapp/blabla.html. Intern wordt dan alles eerst naar /index.php geleid en die verwerkt dan verder de url segments.
Tot zover een paar direct vragen, maar kan me voorstellen dat ik eventueel met meer vragen ga komen. Als iemand mij op weg zou willen helpen, graag!
Ook als je geen Netbeans ervaring hebt, hoor ik graag reacties. Het is dat ik dat nu als eerste geprobeerd heb, maar ik sta open voor andere IDE's.