Frameworks vs. Libraries in PHP
otton.org
otton.org
Good: a library function with no dependencies, that accepts and returns primitive data structures.
Worse: a library with lots of dependencies, and a set of idiotic "data types" or "classes" I have to construct just to access the functionality.
Worst: a "framework" that calls your code itself, and requires a specific "environment" that should be "set up properly".
Their community isn't yet as strong as CodeIgniter's, but it's growing rapidly (2.2 just released!)
The fundamental differences (general structure, etc.) between Kohana and CodeIgniter are currently pretty low, so it shouldn't be too much.
Having come to know it pretty damn well, I'd have trouble recommending it to anyone else.
On the flip side, homebrew framework development has become a larger project in recent years. Nowdays, you need to include in AJAX integration, slicker client UI, mobile phone accommodation, web services API, multimedia handling, etc.... And you're going to be reliant on 3rd party libraries that you need to research, choose, perhaps configure and upgrade at intervals.
Have used Rails for a few projects and it provided a constant stream of annoyances as anytime you attempted to do something that didn't quite fit into the DHH "vision", it was a hassle. Though I liked the DB migration setup in spite of the lock in to autoincrement integer keys.