views:

25

answers:

3

Hello everyone

I have been coding procedural php for a while and I feel I got a pretty good hang of it.

I feel like learning something new. Any ideas on what is good/hot to know?

I have read some about zend mvc and it seems interesting, but im not sure..

I feel like procedural php is so unorganized and hard to debug when the project grows big.

help me out thanks

A: 

I would suggest moving to OOP with PHP. I've done some Python and Ruby and now PHP and OOP is more prevalent in both Python and Ruby. I think you'll learn A LOT by going the OOP route with a language you already know rather than switch languages and then have to learn OOP on top of that.

dscher
I know OOP from Java, I got an A+ in my class :) .. bur ur saying stick to PHP and code in OOP?
dolomite
It all depends on what you want to do with a language. Python is extremely powerful and can be used for any number of purposes, is well supported, fast, fun, and a great language all around. If you already know OOP fairly well then Python may be a great language for you. It all depends on why you want to learn a new language I suppose.
dscher
+1  A: 

I'm a Python/Django developer myself so I'm pretty biased. I don't have anything against Ruby/RoR.

I'd take a look at the languages that the frameworks are built in and see which one you think you'd prefer.

I personally like how Python is structured so I went with Django. I know some fabulous programmers who prefer Ruby so they went with RoR. I personally wouldn't stick with PHP, but I know people who make a very descent living with it as well.

You can't really go wrong either way. but for now MVC is definitely the way to go. I'd look at the language first and the framework second.

Also, sometimes clients and/or the company you work for will make this decision for you. As long as you understand the underlying concepts of MVC and web development, it shouldn't be too much of a hassle to learn a new framework.

digitaldreamer
A: 

If you start to learn either Ruby or Python (which are both good suggestions), you should not just pick the most popular web framework, but investigate several options. RoR for instance gives you extremely good productivity as long as you stick "with the program", but other frameworks, like Sinatra, might have better (and simpler) solutions for some problems.

Within a single framework you might also have the option of selecting different ORM mappers, different templating engines, etc.

So, learn the languages first. Then get familiar with a handful of frameworks and libraries. Then specialize when you know the landscape.

Torbjørn