So in college I started learning Php, mostly starting with the Larry Ullman books. I got a job at a company after, where I was able to learn some stuff from the higher up guys. Since then, I've done freelance stuff and sort of learned things as I needed to.

I'm trying to figure out where to go next. I definitely want to stick with the web programming arena, and I'm enjoying concentrating on Php.

I know MySQL as well, but VERY little Javascript / Ajax.

I've also been reading a lot of OOP theory, and have a descent grasp of how it works, but it doesn't feel natural yet.

Where should I go from here? Is it worth learning Java fort a while to really get the OOP stuff down? I took introductory Java in college, but it was only 1 semester. Or should I concentrate on some of the open source stuff (Wordpress, Drupal, JQuery, etc). How about E-commerce solutions? I have no experience with that.

In terms of my goals, I don't have much plans for big, enterprise types of projects. I would mostly be interested in working freelance on websites of small, to medium size. But, I would like my coding to be as sound, and well structured as can be

thanks for the help!

  • 5
    Lobotomy is the next logical step after PHP
    – Job
    Dec 11, 2010 at 14:51
  • 2
    @Job You must mean ASP.net. Apr 17, 2011 at 10:54

5 Answers 5


If you call yourself a web programmer you can hardly get around JavaScript, jQuery is easier than raw JavaScript, but if you want to get good I suggest you start out on raw JavaScript.

  • 2
    Ya... as ugly as raw Javascript can get, it's important to have under your belt. Especially if you want to start getting into working with PHP and AJAX
    – cdnicoll
    Dec 9, 2010 at 17:39

You should consider looking into a PHP framework. CodeIgniter is easy to learn and use. It will help you write cleaner code. It also will save you the time of writing "plumbing" for every single project.

Regarding OOP, PHP is probably not the best place to learn it. I would recommend downloading one of the express editions of Visual Studio (either VB.NET or C#) and building some small projects on that.

  • I agree, PHP is not the place to learn OOP. PHP does have the notion but this is not the best language to learn such a concept.
    – Chris
    Dec 9, 2010 at 15:03
  • 2
    @Chirs: Agreed. I think Java is probably the best language for learning OOP.
    – Josh K
    Dec 9, 2010 at 18:00

I would highly recommend reading as much Ruby on Rails best practice as you can. You will learn a lot of very good techniques and idioms that can be applied in any language. Later, you'll discover just WHY they're good practice (or, of course, you can ask us for those answers if they don't seem to make sense immediately).

The Rails literature and, in fact, the entire cargo-cult that surrounds it does an excellent job of promoting The Right Way (or at least, demoting Doing It Wrong). Do not take it as gospel, as it's still very important to question and understand why.

Established PHP legacy projects - Wordpress, for example - are bad places to learn about ideals. They have existed for a long time and are full of crystallised bad ideas and false leads.

  • +1 For projects like Wordpress and Drupal being a bad place to learn. Apr 17, 2011 at 10:55

You say that you read up a lot on OOP, so your next step is writing the actual code. Picking Java is as good as picking C# for this purpose - lots of resources available online. That's really all there is to it. And make sure you persevere.

  • I already have a solid understanding of CakePhp. And while I understand conceptually whats going on (for the most part) I feel like I need to start writing that bae code myself to really grasp the concepts.
    – David
    Dec 9, 2010 at 16:28

I don't think you should do just one thing, but several things. Learn a good PHP framework. I recommend Kohana, which will also teach you MVC. (It was branched from CodeIgniter. See this question for a comparison.) Add some JavaScript, whether jQuery or Prototype. To that, add some CSS, perhaps YAML to start with. Using libraries will help you get functional faster, but I'm not sure that is your goal. For all of these, play with them, learn how they work, customize them, experiment, and enjoy. Having fun is the single best thing for wanting to learn even more.

  • Aww, what's the fun in sessions working as expected? Where's your sense of adventure? :P +1
    – Tim Post
    Dec 9, 2010 at 17:37
  • Kohana is not an improvement on CI in my opinion.
    – Josh K
    Dec 9, 2010 at 18:08
  • "CI is strong for some things, Kohana for others" (from a post on the CodeIgniter forum). IIRC, one of the CI devs recently left and started Fuel (fuelphp.com) for a third, similar framework. Using any framework is an adventure. Since their development is (hopefully) not completely static, if it's not broke now, it could be some day. It's not called bleeding edge for nothing. ;) Dec 9, 2010 at 23:06
  • Edited to remove my opinion of Kohana being an improvement over CI as one being better than the other may vary by application. Dec 11, 2010 at 5:53