Home > PHP/MySQL > The Tools You Need For PHP Development

The Tools You Need For PHP Development

by Sam on October 16, 2009 · 22 comments

in PHP/MySQL

garden-tools Quite often, I am asked the question “What tools do I need for PHP development?”. Some of the askers expect to spend hundreds of dollars on development tools, others are utterly bemused when trying to select the ‘perfect’ IDE from a long list options. Still others (admittedly less frequently) come to me asking whether they should buy a PC or a Mac to facilitate their PHP development or if they should go with Linux or Windows. I’ve read forum threads where even seemingly seasoned PHP developers go at it over which tools are a ‘must have’ if you want to become a ‘rockstar developer’. For those who will listen, I have one very simple answer to that question: Aside from a server running PHP and a text editor, you need absolutely nothing. That answer may seem extreme but its the truth. Lets break it down.

PHP is a very flexible software package. It runs on just about every major computer architecture and operating system currently on the market. Also, the hardware requirements are very low. I’m pretty sure that if I wanted PHP to run on my BlackBerry I could get it ported over to BlackBerry OS. This makes the choice between Mac and PC or Windows and Linux as it relates to PHP irrelevant. When it comes to IDE’s, the reality is that you don’t really need them. You can write PHP in notepad. For over a year I effectively wrote my PHP code exclusively using Gedit with a few plugins on Ubuntu. After a while I switched to Notepad++ and since then I haven’t looked back. I’ve tried Netbeans, Aptana and Eclipse PDT which are considered by many to be among the leading PHP IDE’s around. None of them tickled my fancy. So, in essence, any server running PHP and possessing a text editor should be enough to write and execute PHP.

Of course, there are tools that make develoment easier. For example I use the Firebug, FirePHP and YSlow Firefox plugins along with phpDocumentor extensively during development. Others rely heavily on frameworks, code profilers and debuggers. Software such as Zend Studio, Xdebug and PHPUnit are staples in the arsenal of many developers. At the end of the day however, all you really need for PHP development is a PHP enabled webserver and a text editor. Tell anyone I said so.

Short URL for this post:

http://bit.ly/2CYQ9C

Comments Map

Location data courtesy of GeoSmart

{ 6 trackbacks }

United Kingdom The Tools You Need For PHP Development from United Kingdom
October 17, 2009 at 12:14 am
United States Webby Scripts The Tools You Need For PHP Development from California, United States
October 17, 2009 at 6:24 am
United States Tweets that mention The Tools You Need For PHP Development -- Topsy.com from California, United States
October 17, 2009 at 9:14 am
United States The Tools You Need For PHP Development | DevBlogr from Texas, United States
October 18, 2009 at 9:42 pm
United States All-in-One AVR Development Tool | Volts and Bytes | DevBlogr from Texas, United States
October 24, 2009 at 8:11 pm
United States The Tools You Need For PHP Development | Free Software from Nevada, United States
October 27, 2009 at 12:42 pm

{ 16 comments… read them below or add one }

1 Germany robo47 from Baden-Wurttemberg, Germany October 16, 2009 at 10:13 pm

Hi,

what plugins did you use in gedit ?
Didn’t know there are gedit-plugins for php.

2 Jamaica Sam from Saint Andrew, Jamaica October 16, 2009 at 10:23 pm

Twitter: @SamuelFolkes

You can find a pretty decent tutorial/list of plugins on the other side of these links:
Gedit For PHP Development
Customizing Gedit as a Web Developer’s IDE

3 Germany robo47 from Baden-Wurttemberg, Germany October 16, 2009 at 10:43 pm

Thx a lot,
I normally use Netbeans, but for the fast editing of files I prefer a fast editor like gedit instead of an IDE.

4 United States DameryWorld from Nebraska, United States October 17, 2009 at 8:21 am

I traveled nearly the same path, but I started with just plain html and js in notepad. As I have grown to try and use various “cms” frameworks and web apps. With the larger and more oo code I have needed a tool to help keep track of code and for FREE netbeans is the best. I tried Dreamweaver and it was great especially for css editing but in the end Netbeans was better for the PHP code and is better with the various JS packages too. I use WAMP but have used XAMP and I can say that I have coded and run a server from a USB stick from portableapps.com
appreciate your view but to really get more from your code and time use netbeans it reveals PHP and code to you….AWESOME!

5 Taiwan jfca from T'ai-pei, Taiwan October 17, 2009 at 9:35 am

I like the idea of keeping things simple. Focus on developing your ideas and leave the shiny toys to others. Good article.

6 United States MonkeyT from Texas, United States October 17, 2009 at 1:57 pm

On OS X, there’s no stronger text editor than the venerable BBEdit (The makers do make an essential free text editor called TextWrangler, but BBEdit is better suited for dev work). It includes subversion and CVS support, inline command line controls, code folding and a project list that works well for local filesets. Ther are other good options, but this is gold standard when it comes to simplicity.

7 Netherlands ReeRun from Gelderland, Netherlands October 17, 2009 at 3:16 pm

I do also occasionally (quickly) edit code in either notepad or wordpad, but when things get real, I stick do IDE’s. I still prefer Eclipse PDT. I’ve become used to it, though that took a long time coming from ZS5. PDT provides me wih most functionality I need to use, like subversion (subclipse), code completion and other ‘nifty’ stuff. But it’s also large and bulky. Luckily my development machine is more than fit for that job. I still want to check NetBeans out, because it is not as bulky. Only thing I already disliked about it (and I feel is its’ greatest downfall)are the integrated version management systems (SVN/CVS) – when a new version arrives, you can’t update but have to wait for a new version of NetBeans.

As webserver I use Zend Server CE for Windows. Easy to configure and manage (not mentioning virtualhosts though). I have used WAMP and XAMP, but they never did it for me, but that’s just me. I can’t speak for someone else.

On topic: I’m not disagreeing with the article. Yes, all you need is a good texteditor and a webserver, but for the real stuff… Maybe the true masters can do without, but overall most developers will still pick an IDE over a simple texteditor. Large projects can hardly do without.

8 United States Steve from Pennsylvania, United States October 17, 2009 at 4:12 pm

Twitter: @PHIFTY

I have used pretty much every editor and IDE from vi to Zend Studio and I have to say…I prefer Netbeans, mainly because of the code sense and subversion integration. It just makes things easier, especially if you’re on a team. If you’re solo, then any editor is fine.

There’s a very helpful dashboard widget by Sean Coates that acts as a wrapper for an interactive php session. This comes in very handy for those moments when you forgot exactly what some obscure function outputs. Of course, you can open up a terminal window and do the same.

On windows, I highly recommend you get Windows Powershell and use the heck out of it. It has an aliasing feature, so if you’re used to a *ix command line, you can make yourself right at home.

Both WAMP and MAMP are great products and are easy to manage as well.

But if you’re serious about your php and you’re writing high-traffic/enterprisish apps, I highly recommend Zend Server. It is well worth the cost.

9 Ireland Sean from Cork, Ireland October 19, 2009 at 2:58 am

Anyone who say you only need a text editor is either a genius or a fool.

To develop any kind of complex application here’s what you need:
- an IDE like Eclipse
- a local server for testing e.g. WAMP
- knowledge of some kind of frame work liek ZEND

This will let you do more much faster.

10 Jamaica Sam from Saint Andrew, Jamaica October 19, 2009 at 3:13 am

Twitter: @SamuelFolkes

@Sean – Well since I never said you only need a text editor thankfully (by your criteria) it would appear that I am neither ;) I have been involved in the development of some relatively large applications (bill payment systems etc.) and I have never ever used an IDE and I know absolutely nothing about the Zend Framework or any like framework. I can guarantee that you will find MANY other developers out there that will tell you the same thing.

11 United States Dev Head from California, United States October 23, 2009 at 3:51 pm

Twitter: @sitelabbers

I’ve used nearly every tool available for development on the LAMP stack, and I have finally come full circle.

The first thing to acknowledge is that your operating system is your enviornment, from there you can decide what you need vs what may have the most hype.
I choose to work on a mac osx over windows. What good is working in Windows if you want to work on the LAMP stack? The simple answer is none, the windows OS provides no native functionality you would find on servers running your software, so why develop on something that does not support you?

So my enviornment is this:
Manage files using Finder (native file browser).
Edit files using BBEdit (can use free text-wrangler if working on the cheap).
Manage server using native shell.
Local development server used is Mamp Pro, Xampp is a solid solution too.
Differences here is that Mamp makes creating virtual hosts much more simple, switching between PHP4 and PHP5 is a click away and it comes with APC support. Xampp is a solid alternative I’ve been using as well ( though never installed on the same machine ).
I access my database using Navicat, CocoaMysql was a great free solution but the original authors have abondond the project; but google hosts a branched version called SqlPro which is still better then most options.

These are what I consider essential tools for LAMP development, so keep your fingers on the keyboard and get some work done.

12 United States Josh Houghtelin from Missouri, United States October 23, 2009 at 7:37 pm

Twitter: @houghtelin

I completely agree with you when it comes to a complete newb asking me “What tools do I need to code PHP.” because they are really just asking what they need to get started coding PHP. In all reality if you’re trying to learn PHP then all you need is a text editor and and an environment to run the code you create. This is where I come to disagree with this post because it doesn’t focus on the newbie coder. Admittedly I occasionally SSH in to a server (PHP environment) and fix a problem using VI (text editor) from my cell phone but in all reality a simple environment and plain text editor will not cut it if you wish to truly be an effective PHP developer little own a team developer. Although seasoned developers won’t ask you that question since they know they need more then a simple text editor and an environment but I believe this post would be better focused if you clearly pointed out that it was for new PHP developers.

13 United States Steve from Pennsylvania, United States October 23, 2009 at 8:02 pm

Twitter: @PHIFTY

@devhead

have to agree wholeheartedly with Navicat. It’s Data and structure transfer and backup utility makes it well worth the cost

14 Turkey QueryIstanbul from Istanbul, Turkey November 13, 2009 at 9:24 am

Twitter: @queryistanbul

I am using Delphi For PHP. Most powerfull tool

15 United States Pras Sarkar from California, United States November 20, 2009 at 1:14 am

Twitter: @prasnation

While you don’t *need* any complex IDEs to develop in PHP, they will definitely help you become a rockstar developer. And no, just using them won’t help you become a rockstar developer. The classic analogy I like to give is that of a painter. A painter does not *need* a $150 airbrush, he can definitely paint a house with a normal paintbrush. However, using that $150 is an investment he makes in becoming a better, faster, more efficient tradesman.

One of the reasons rockstar developers usually use a more ’sophisticated’ tool (vi, emacs, Eclipse, Zend Studio, etc.) are less due to the features but because they have taken the time to get familiar with their tool of choice. That ultimately is the key.

That being said, IDEs often help developers become more efficient with mundane tasks like source code management, and complex tasks like refactoring (good luck with doing that well in Notepad++). But it all depends on the project and level of expertise. No sense in using a $150 airbrush to paint a door.

16 Ghana Oluniyi David Ajao from Ghana December 23, 2009 at 2:14 am

Twitter: @niyyie

I can’t help agreeing with you but software like Adobe Dreamweaver also make web development easier and faster especially for newbies as much of the advanced coding is done by Dreamweaver while the developer only clicks, drags and drops.

NB. Your great geolocation plugin brought me here. Keep up the good work.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Previous post:

Next post: