Solved

Code/debug php code

Posted on 2014-11-18
11
159 Views
Last Modified: 2014-12-11
I have installed WAMP server with php, MySQL. Which tool should I install in order to debug and modify the php code ? Any simple guideline on this ?

Tks
0
Comment
Question by:AXISHK
  • 3
  • 3
  • 2
  • +2
11 Comments
 
LVL 35

Expert Comment

by:Kimputer
ID: 40449204
Depending on your problems, you should use print_r commands on various tacticallly sound spots in your php code (so it depends on your errors and what you're trying to debug). If used properly, you can "trace" a variable, and notice where it changes or behaves unexpectedly, and that's usually where the bug is (wrong formula, wrong logic, etc). I prefer Notepad++ for php editing (unless you already have a more expensive software package like Dreamweaver).
0
 

Author Comment

by:AXISHK
ID: 40449215
Notepad++ don't have debugging feature, and we need to use print_r commands to list the variable, correct ?

How to use notepad++ to trace through ,say a.php -> b.php -> c.php.  Any example on this ?

Tks
0
 
LVL 35

Assisted Solution

by:Kimputer
Kimputer earned 100 total points
ID: 40449271
Notepad++ is editing only. Debugging happens only in the live environment by watching the print codes you have in your php code. If you need to trace through multiple php files, have the print codes there too (for example printing the session variables).
0
 
LVL 82

Expert Comment

by:Dave Baldwin
ID: 40449289
I do like @Kimputer says.  I just use my code editor and put in 'echo' and 'print_r' statements (temporarily) where I need to find out what's going on..  I have never had an IDE with a "debugger".
0
 

Author Comment

by:AXISHK
ID: 40449300
Do you mean simply modify the php code to print out some variables ? Run the php website again to dump the result. Afterwards, remove the code, correct ?

Tks
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 35

Expert Comment

by:Kimputer
ID: 40449309
Yes correct.
0
 
LVL 82

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 100 total points
ID: 40449328
I often leave my troubleshooting code in the file but commented out when it runs properly.  I might need it again when my customer wants some more changes.  Since PHP is interpreted, you can edit, upload, and run it very quickly.  Or when you have the web server on your machine, you can just edit it and run it.  Which I'm about to do to figure out why one of my programs is not running exactly right.
0
 
LVL 108

Accepted Solution

by:
Ray Paseur earned 300 total points
ID: 40449561
Some good "getting started" concepts and resources are in this article.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_11769-And-by-the-way-I-am-new-to-PHP.html

In the world of IDEs, Komodo and Eclipse come to mind.  But that said, I do what DaveBaldwin and many other professionals do - we write the code by hand and use var_dump() to visualize the data, step-by-step as we develop the application.  I rarely write more than a few lines of code without testing.  Test-driven development saves so much time you will be amazed!
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_7830-A-Quick-Tour-of-Test-Driven-Development.html
0
 

Author Closing Comment

by:AXISHK
ID: 40461172
Tks
0
 

Expert Comment

by:robin811
ID: 40493972
It's often useful to follow the print_r or var_dump line with the command die.  If there is an http request after the var_dump, the output can be  overwritten before you can see what it is.  the die command stops execution so you can see your var_dump output.

I use a macro that outputs the following code (inserting the contents of the clipboard in the parentheses, I copy the name of the variable I want to dump first, then run the macro):

/*DELETE*/ echo var_dump($request); die;
0
 
LVL 108

Expert Comment

by:Ray Paseur
ID: 40495335
@robin811: Good advice!  Laravel has a dd() function that does a "var_dump(); die()" sequence.  Very helpful for isolating that one nagging thing!  Best to all, ~Ray
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Suggested Solutions

Foreword In the years since this article was written, numerous hacking attacks have targeted password-protected web sites.  The storage of client passwords has become a subject of much discussion, some of it useful and some of it misguided.  Of cou…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to dynamically set the form action using jQuery.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now