views:

176

answers:

5

Possible Duplicate:
What is the best IDE for PHP ?

Hello again everybody,

I finish my work placement next week and have over a month off before I start my studies again. Being the super cool party animal that I am I have decided to use the time getting a firmer grip on PHP. I recently bought the highly recommended book 'PHP Objects, Patterns and Practice' 3rd Edition by Matt Zandstra and have completed the Zend Tutorials.

I was wondering if anyone had any other good sources of beginner/intermediate material they would recommended?

I'm also very interested in the development environment and software people use to code in. At the moment I just use Scite, which for those who haven't come across it is basically notepad that colours your code in.

Thanks in advance for your help.

Jonny

+4  A: 

I'd find a project or website that you want to emulate and start building it. There really is no better way to learn I think than having real world challenges to overcome. More often than not you'll find that you will face the same challenges over and over, and when you have a firm grip of them, things become much easier.

As for development, I was a firm Aptana (www.aptana.com) fan in v1.5, but I've since switched to Netbeans (www.netbeans.com).

DavidYell
Yeah that makes sense, I have a few projects that I am eventually hoping to do some PHP work with. Thanks for the links, I'll check those out now.
JonnyIrving
Had a play with both of those, a little bit overwhelmed as you can imagine a beginner to OOP might be but I think netbeans is my favorite so far.
JonnyIrving
You'll find it easier with Netbeans as it gives you code help for all your class methods and attributes. Plus CTRL+LMB on a function for definition is invaluable!
DavidYell
+1  A: 

My main advice is:

  1. Learn to identify and skip outdated PHP tutorials
  2. Use the official manual from php.net
  3. Use version control software. Anyone. They are all better than using none

Update

My original answer began with a tongue-in-cheek classification of PHP editors and IDEs that appears to have distracted attention from the important stuff so I'm moving it to an appendix. It's worth noting that the politically correct word for "fast" in the context of software applications is "alternative pace performance". No Indonesians were harmed in the making of this article.


Of course, the What Is The Best PHP Editor question will always be around and will never get a definitive answer. These are the big categories:

  • Ultra lightning fast text editors with syntax highlighting and little else.
  • Mastodontic IDEs written in Java with poor editors.
  • Commercial IDEs with 100+ utility panels all around the window.
  • Unix editors that have somehow survived the 1970s.

Just choose yourself ;-)

Álvaro G. Vicario
Thanks Álvaro, I see what you mean with the Editors. I'm currently using a Ultra lightning fast but very light editor and was thinking something with a few more bells and whistles might help me.
JonnyIrving
I personally love Programmer's Notepad :)
Lyon
What are you on about, you think a modern PC can't run anything more complex than a text editor before it slows down? How _lightning_ fast do you need for typing, exactly?
John
@John, please accept my apologies if my quick oversight has offended your cultural traditions or religious believes. For some reason, many editors and IDEs mention performance/speed (or lack of) in their features and support sections. We can only speculate about their reasons but I've evaluated a good bunch of tools and you definitively cannot compare EmEditor with Eclipse. I'm not sure about second question, though... 200ms?
Álvaro G. Vicario
Now now you two let's keep it friendly...plus you both make valid points. I moved away from Dreamweaver to Scite due to the startup time ect on my less than lightning fast machine. But having said that I am interested in the features a more complex IDE can offer.
JonnyIrving
Grow up. You make a stupid point that Java apps are slow, somehow insinuating they do the same things as a text editor slower? Really? I bet eclipse can save a file or respond to me typing faster than I can _see_, so I'm not sure how that's different performance. Startup time might be a factor, but I haven't closed Eclipse for weeks.The point is, your argument is ludicrous unless you define how an IDE does the same things slower than editing in notepad.
John
@John, not I get it. I presume you downvoted my answer because you considered it was an attack against Java but you didn't even mention the actual reason until your second comment. You have to understand that not everyone is obsessed with Java. If I say "assembler is fast" I don't mean that Java is slow: I mean assembler is fast. If I say icecreams taste good, I don't mean that coffee sucks. (And please note I used assembler as example: I'm not suggesting that PHP IDEs should be written in assembler!)
Álvaro G. Vicario
Typo: "_Now_ I get it"
Álvaro G. Vicario
I'm not obsessed with any language. I don't think your answer is factually correct. Typing and syntax coloring are done instantaneously in every editor I use so I don't see how anything can be faster. If the fact an application like an IDE takes 10s to load is a factor, then I suppose that's your, but really?
John
That's why it's factually incorrect to say program X is fast? Because all editors in the world allow to type fast? Am I on candid camera or something?
Álvaro G. Vicario
A: 

You didn't mention the environment, but if you're using Windows and you don't need a complicated IDE, here's a simple/lightweight solution: use Notepad2 for PHP/HTML/XML text editing, any PDF reader for the PHP manual, along with TortoiseSVN for version control.

stillstanding
A: 

The best platform for PHP related development is any flavor of *nix. I recently shifted to Ubuntu (current stable version 10.04) and found it very easy to setup and use.

A single command sudo tasksel install lamp-server will install everything you need for PHP development like Apache, PHP and MySQL. And as David suggested, use Aptana for coding. Using SVN or Git for version control is also preferred.

Finally, learn some PHP framework like CakePHP (http://cakephp.org) or Zend Framework (http://framework.zend.com/). It will reduce your development time a lot.

HTH

Aditya
Care to qualify your massive generalisation about *nix? What amazing IDE exists that isn't available on Mac/Windows as well?
John
Well, its not just about an IDE. I am talking about the overall development environment. Whenever it comes to compiling anything from source for PHP like extensions, IMO, *nix is way better than Windows. I won't name mac here as it is based on FreeBSD.
Aditya
Thanks for the suggestion Aditya but I can't rebuild the machine I will be using which is currently running windows. I'm also a big fan of Ubuntu but won't have it during my playtime.
JonnyIrving
Just FYI, dual boot is also an option :)
Aditya
how is it better for compiling source? Not sure what PHP is written in (C?) but I generally find I just install MySQL, etc, open the source project (though I'd rather download the binaries) and hit 'build'. But of course if nobody put decent build scripts together for non-nix, that would waste some time getting it going.
John
@Aditya It would be an option but I don't have enough space left on my harddrive...maybe on an external harddrive hummm.
JonnyIrving
A: 

I use e text editor on Windows at work, with WampServer and GIT.

Martin Bean
Yeah I use a similar system at the moment but I've only just started really. WampServer works well for me.
JonnyIrving