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.
Off the top of my head - things I couldn't live without:
- A good lightweight MVC framework (specifically CodeIgniter for me)
- My own unit testing framework, Toast
- 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)
- jQuery
- ApacheBench (ab) for benchmarking
- My Macbook (for the stability and spyware-resistance - I do get significantly more work done with fewer frustrations now than when I used Windows)
- browsershots.org
- 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
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
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.
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)
I could not live without; 1.codeigniter framework. 2.Filezilla ftp. 3.and good IDE,
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
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.
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.
PhpEd for PHP debugging, stepping through the code, running ad hoc commands etc. It is v.v.v. nice.
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 :)
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