Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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!

share|improve this question

closed as not constructive by MichaelT, Bart van Ingen Schenau, gnat, GlenH7, Jimmy Hoffa May 6 '13 at 14:50

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

5  
Lobotomy is the next logical step after PHP –  Job Dec 11 '10 at 14:51
2  
@Job You must mean ASP.net. –  Click Upvote Apr 17 '11 at 10:54
add comment

5 Answers

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.

share|improve this answer
    
+1 For projects like Wordpress and Drupal being a bad place to learn. –  Click Upvote Apr 17 '11 at 10:55
add comment

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.

share|improve this answer
    
Aww, what's the fun in sessions working as expected? Where's your sense of adventure? :P +1 –  Tim Post Dec 9 '10 at 17:37
    
Kohana is not an improvement on CI in my opinion. –  Josh K Dec 9 '10 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. ;) –  Tim Butterfield Dec 9 '10 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. –  Tim Butterfield Dec 11 '10 at 5:53
add comment

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.

share|improve this answer
    
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 '10 at 16:28
add comment

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.

share|improve this answer
    
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 '10 at 15:03
2  
@Chirs: Agreed. I think Java is probably the best language for learning OOP. –  Josh K Dec 9 '10 at 18:00
add comment

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.

share|improve this answer
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 '10 at 17:39
add comment