Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Requesting Advice Learning PHP

edited October 2009 in Vanilla 2.0 - 2.8
I would really love to contribute to the Vanilla community by developing Apps and Plugins, but unfortunately I don't know how to program. I've been interested in learning PHP for a while now, but I'm finding a lot of the tutorials online are very intimidating since I know nothing about PHP or programming. I'm quite comfortable with HTML, CSS and Flash, but I was wondering if anyone could recommend a fail proof plan of recommendations (books, sites, etc) and advice for a PHP noob like myself? I basically want to get my feet wet with PHP and understand what's going on and continue building my skills without getting confused, frustrated and eventually giving up. I'm also turning 31 next month and I'm a little worried I've left it a bit too late especially if learning PHP to a respectful level takes many years.

Any advice will be greatly appreciated.

Comments

  • MarkMark Vanilla Staff
    edited October 2009
    PHP is a great place to start learning how to program. When I picked it up, I spent a lot of time reading the manual at php.net:

    http://www.php.net/manual/en/getting-started.php
  • Also check out W3C Schools: http://www.w3schools.com/PHP

    The Visual Quickstart Guide to PHP by Larry Ullman is pretty good, too. O'Reilley's PHP Cookbook was immensely helpful as well after I got through the basics and wanted to dive in (though in places assumes you have PEAR and other modules installed). Actually, just check out the mini store I put together of my favorites: http://astore.amazon.com/icrontic-20?_encoding=UTF8&node=2

    I've spent thousands of dollars on books over the years (yay stipends) so that represents a very very condensed list of favorites.

    If you're rolling on Windows, check out XAMPP to set up your computer as a PHP server.
  • Thanks for the advice and links guys.

    @Lincoln I'm very familiar with running XAMPP, WAMP, etc on my computer and I have lots of experience administrating forums. I guess now is the most logical step forward from administration to actually being able program something instead of just relying on others to program for me, hence the reasons for me wanting to learn PHP.

    I just hope learning PHP doesn't take too long to pick up before I can start programming decent code. I guess my short term goal would be to be able to build plugins and apps for Vanilla 2 and use Garden as my playground to improve my skills further over time.
  • @Suthain If there's a language built for getting to "beginner" status very quickly, PHP is it. My biggest challenge (which I still struggle with at times) is the jump from intermediate to advanced, especially lacking deep experience in other more formal languages.
  • I'm thinking that although it's good to dive into a language it's better to have someone teach good programming principles so that the resulting application works with the least amount of fluff. Unfortunately getting training on good principles and good practice seems to be either something you learn by trial and error or by formal training.

    Trial and error I believe will be my path D:!
  • edited October 2009
    I used php.net, PHP and MySQL Web Development, the PHP cookbook and then Vanilla to learn PHP.

    http://php.net

    http://www.informit.com/store/product.aspx?isbn=0672329166

    http://oreilly.com/catalog/9780596101015/

    ps: the two book mentioned are available on Safari ( http://www.safaribooksonline.com/ ). Seems a waste to buy dead tree edition of books that become obsolete so quickly.
  • I'm surprised no one recommended the OP an IDE. Personally I recommend someone first learns to setup something like xampp+xdebug and use an ide such as netbeans/eclipse+pdt2. An IDE makes php much easier.
  • IDE? Who needs IDEs? For Windows users, Notepad is a perfect editing environment. For UNIX/Linux users, vi/emacs are wonderful. Both of the UNIX/Linux tools mentioned have syntax-highlighting plugins, and if syntax highlighting is a necessity, grab Notepad++ on Windows.

    I honestly don't see the advantage of an IDE with a language like PHP. Sure, if it's a compiled language it makes life a little bit easier by (generally) having a button you can click to compile and run the code you just wrote. For PHP, though, I think a text editor (possibly with text editing) and a file browser/manager work beautifully. Besides that, I've noticed that many times using an IDE causes the person to become far too dependant on it. It seems to dull the programming skills for some. Text editor + file manager seems to reinforce the basics and essentials.

    Since I'm not a PHP programmer, though, maybe I'm wrong.
  • @argith - I personally used to use vim on *nix, I only use it these days if I'm patching code on a CLI restricted server. Vim can atleast be configured for somewhat primitive autocompletion. PHP is not a compiled language so there is no compile button to make things easier, but there is step through debugging, and intellisense, which saves enormous amounts of time since you don't have to open classes in notepad and scroll through to see what methods they expose.
  • @DeadlyCreampuff

    I realize that PHP is not a compiled language. I didn't say that it is. Regardless, that's not the point.

    I made that post in haste, and I didn't make things as clear as I should have.

    What I meant was that for beginners, I think suggesting an IDE might not be the best idea. I (personally) believe that a text editor (with syntax highlighting if needed) is the best course of action for someone totally and completely new to programming. This is for various reasons, and I already mentioned them in my previous post.

    If the person is an experienced programmer, I say more power to them for using an IDE. They do tend to make life easier. It's similar to math, in my opinion. You need to know the long way before you do things the short (easy) way.
Sign In or Register to comment.