PHP is a strange beast, on the one hand, it is supported almost everywhere. On the other hand, the language is bizarre, and this facilitates the wrong thing. I constantly come across PHP applications that mix business logic with HTML. In addition, it is trivially easy to write unsafe applications in PHP. If you are going to go into PHP, I would recommend using the framework, however I have not researched them enough to recommend them over any other.
I have no experience with CodeIgniter, but a lot with Rails (for a busy social network for invitations only) and Django (for a community-based site with an integrated store).
Of these frameworks, I would recommend Django. The approach to models is more clearly defined, URL mapping (imho) is much nicer than Rails routes, form processing is also good. From head to toe, I can't think of anything that Rails does, that I want Django to do the same.
However, if you are looking for work, their use is pretty much in this order:
PHP exists forever, Rails was a bit before Django and got a lot of intelligence, Django is used in quite a few places, but is not advertised so often.
Both Python and Ruby are easy to learn, and you can pick them up by exploring the framework. Normally, Django and Rails do not require you to know too much language to use the framework. I find them a good acquaintance with the language as a whole.
You will learn that any of these languages ββ/ frameworks is fun and useful.
source share