Re: Debugging classes
| From: | Jochem Maas | Date: | Tue, 22 Jan 2008 23:15:23 +0000 |
| Subject: | Re: Debugging classes | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-267863@lists.php.net to get a copy of this message | ||
TG schreef:
I have a semi-good understanding of classes even if I don't totally 'grok' the benefits for the projects I've worked on so far. One thing that keeps smacking me in the face, though, is reverse engineering in order to make proper changes to projects created by others using classes. In particular, I've been doing a lot of Joomla work and I end up doing a global "find in files" trying to trace things back to see where they're assigned, etc. In particular 2, "$this". I know it's a keyword meaing "the active object".. I'm cool with that, but sometimes I need to make changes to how things are handled, or what data is included. I can do a print_r and see what type of object it is, look up the class definition, etc, but it still seems like a pretty cumbersome way of doing things.debug_print_backtrace() is your friend. that said get an editor that supports debugging and install the required debugging extension on the server (which will probably be your local machine) this will allow you to initiate a debug session that allows you to step through the code line by line. I use Zend (debugger & IDE) for this, there are other options but I'm lazy and I've never had the patience to setup PHPEclipse+Xdebug (or something similar)
Anyone have any tips for debugging/reverse engineering/noodling-out classes on big projects created by someone else? I figure things out eventually, I just want to speed up the process and do it 'smarter' if possible.debugging is a bit of a black art. the more you do it the handier and more comfortable you get at doing it. it's a bit like sex but with out the reward ;-)
Thanks! -TG