views:

910

answers:

12

There are lots of IDEs for PHP development, but I'm curious about all the OTHER brilliant little tools and apps and websites that people use every day to make PHP development a little easier.

+2  A: 

Off the top of my head - things I couldn't live without:

  1. A good lightweight MVC framework (specifically CodeIgniter for me)
  2. My own unit testing framework, Toast
  3. A local 'LAMP'-like environment (MAMP for me since I'm on a Mac - it's literally a one-click install and everything just works)
  4. jQuery
  5. ApacheBench (ab) for benchmarking
  6. My Macbook (for the stability and spyware-resistance - I do get significantly more work done with fewer frustrations now than when I used Windows)
  7. browsershots.org
  8. Firefox plugins: Web Developer and/or Firebug (with YSlow and FirePHP)

Other things that ought to be on this list, but aren't, because I personally haven't found the right tool yet:

  • SVN
  • A really good FTP (?) client that can keep my IDE, local and remote environments completely in sync
  • A good, user friendly project management and bug tracking system
  • A good CSS framework
Jens Roland
For an FTP, check out Transmit FTP or the Coda IDE, which has the Transmit app built within it. Has a 'Synchronize' option which will sync both local and remote locations.
Chris Serra
Thanks for the tips, I'll go check out Coda :)
Jens Roland
I too am trying to find "A good, user friendly project management and bug tracking system" -- have you had any success finding anything on this front?
Nicholas Kreidberg
+6  A: 

I couldn't live without:

  • Eclipse with the Aptana plug-in (allows me to develop html, javascript, php, and css in a mostly seemless environment) and Subclipse plug-in (for integration with subversion)
  • Firebug, Web Developer Toolbar, YSlow, Firefox Throttle
  • Local XAMPP installation
  • SQLYog for MySQL development
Noah Goodrich
+1  A: 

PHP projects can be stored in Team Foundation Server. This provides end-to-end project management, process management, application lifecycle, source control, build automation, and reporting.

I know this answer is not likely to get many 'ups' but if you know what you are doing, TFS can make an amazing difference to projects in any language. Just recently I did a migration of mainframe Cobol into TFS, works a treat.

DarkwingDuck
+2  A: 

I use Aptana for an IDE.

It has integrated FTP and excellent code hints and completion for HTML, JavaScript, and PHP (with the plugin).

http://aptana.com/studio/download <- free community version (what I use)

Tyler
+1  A: 

I could not live without; 1.codeigniter framework. 2.Filezilla ftp. 3.and good IDE,

Mohamed
+3  A: 

1) Editor: TextMate, I really love this editor.

2) Debug: A combination of writing robust error reporting in software, Firebug & Web Developer (firefox plug-ins) and apache weblog parsing

3) Tools: jQuery is my favorite toy right now, I am doing a lot of neat stuff with it and really bringing some database driven administrative applications "to life."

4) Framework: I have yet to implement a framework for PHP development. Aside from a number of snippets and things that I have put together I pretty much write everything by hand. I would really like to adopt a framework but just haven't had the time to sit down and learn one.. I am pretty much set on going with Cake or CI -- what do you guys think?

5) Cross-browser testing: Honestly, I just use live machines.. I have heard very mixed things about browsershots.org and haven't looked into the other options. We just test all our stuff on multiple platforms/browsers to ensure compatibility across the board.

  • Nicholas
Nicholas Kreidberg
5) Of course, you can always pay for browsercam.com, but I find that browsershots.org does a nearly perfect job for all the common OS/browser combinations
Jens Roland
4) I'm all for CI. I've heard some negative things about Cake, but most of all, I like CI because of its very minimal feature set (no bloat)
Jens Roland
Jens: Would you mind sharing a couple of your favorite resources for "getting started" with CI, or is the official documentation thorough enough?
Nicholas Kreidberg
Actually, the official documentation is excellent, and I think it's more than thorough enough. Although if you've never worked with the MVC pattern before, you should probably read up on that before diving into CI.
Jens Roland
Jens: I am definitely familiar with the MVC approach to design, just haven't worked with an MVC framework in conjunction with PHP. Thanks again for the input! I'll make it a point to check out CI this weekend.
Nicholas Kreidberg
Ah great, in that case you should feel right at home with CI
Jens Roland
+11  A: 

I have a whole list of tools that I can't live without:

  • Eclipse with PHP Development Tools (or Zend Studio for Eclipse) - Both of these are great IDEs with awesome PHP editing features. They also both give CSS and JavaScript (JS) editing capabilities now. With the existing Eclipse extensions, you can get a ton of functionality out of the box
  • Notepad++ - Great little text editor with syntax highlighting and tabs. I use this for quick edits and editing huge text files that slow down eclipse.
  • Filezilla - If you're on Windows, then I suggest Filezilla as the FTP application of choice. It works great, is relatively fast, and is free.
  • PuTTY - You'll need to SSH into remote servers some times. Use this for your terminal commands. I use it every single day.
  • Browsers - You're going to need to test so you should have every browser you reasonably can installed on your system. Firefox, Opera, Internet Explorer, Safari, Chrome, etc.
  • Firebug - The ultimate front end debugging tool. I cannot count the number of times Firebug has helped me decipher problems with my code or a legacy system that I'm working on.
  • FirePHP - Another great tool. This one hooks into Firebug and allows you to utiliize a server side PHP library to generate custom headers that will be output as log messages. You can log arrays, strings, ints, doubles, etc.
  • SVN - This is an obvious one. If you're not using source control in some way, then you're just not developing safely. On windows, I use TortoiseSVN except when I'm in my IDE, then I use the built-in SVN support.
  • Redmine - Awesome project management tool (in RoR) that makes my life infinitely easier. It is very customizable and will help you have a good workflow throughout a project.
  • Harvest - Hosted time tracking with widgets for most major operating systems. If you're developing, you better be tracking your time so you know where it is going.
  • Adobe CS - If you're working with designers at all, then they're going to be sending you PSD files that you need to code. If you don't have the Adobe Create Suite (some version) then you're going to be at a serious disadvantage.
  • jQuery - I hate writing JavaScript without a library anymore. jQuery is awesome and it makes you feel like you can do anything at any time. Its collection of plugins is similarly amazing and I recommend this JS framework over any other.

That's pretty much all I can think of off the top of my head, but it is pretty much everything I use every day.

nickohrn
@Gortok - Thanks for the helpful edit.
nickohrn
Could you recommend a good SVN tool?
Jens Roland
@Jens - I added one to the answer.
nickohrn
Thanks! Now if only there was Tortoise for the Mac :)
Jens Roland
+8  A: 

I'm surprised no one has mentioned XDebug so far. Turn on XDebug in your development and enjoy profiling, stack traces and if your IDE supports it, breakpoints. A most worthy tool.

Mainegreen
The best feature is the profiler part. Use KCachegrind or webgrind to analyse the profiling data on your bad performing website.
Wimmer
Can't live without xdebug anymore.No more stupid echos all over the place, no longer sift trough pages and pages of var_dumps.
christian studer
+1 for XDebug. With Komodo IDE, it's like Visual Studio for PHP. Well, almost ;)
David Heggie
A: 

PhpEd for PHP debugging, stepping through the code, running ad hoc commands etc. It is v.v.v. nice.

monk.e.boy
+1  A: 

phpMyAdmin (assuming you're using MySQL, of course).

Matt Flowers
I prefer HeidiSQL. http://www.heidisql.com/
TRiG
A: 

Zend Step Debugger / Zend Studio

php.net's documentation

Any IDE with syntax highlighting.

I guess you can add stackoverflow to that list now though :)

Syntax
+1  A: 

You haven't mentioned what operating system you're using so I can't gear my list towards what may be usable for you:

  • vim
  • etags
  • php_codesniffer
  • php_unit
  • selenium
  • php_uml
  • netbeans
  • pman (php manual on the command line)
  • mantis for bugtracking
  • subversion/git
  • PEAR (using both pear components and for deploying projects)
  • firefox with these extensions:
    • firebug
    • screengrab
    • webdeveloper
    • dummy lipsum
    • yslow
  • solyp's SQL Developer also comes in handy
kguest