views:

452

answers:

3

I've used CakePHP on several projects in the past, and have more recently started using Ruby on Rails, but there's a new project I'm about to start that will require PHP. While refreshing myself on CakePHP I learned that there is a new framework called Lithium that is essentially what CakePHP 3 was going to be. It's being developed by a group of former core CakePHP devs.

I haven't found a whole lot of information about it since it's still under development status, but I was wondering if anyone knows (or has a link to) some information on what benefits it provides over CakePHP. Hopefully something a bit beyond the quick overview shown on the official site. I'm trying to decide whether to use CakePHP for my upcoming PHP project or to wait a bit for Lithium to release a non-development version and try that out.

+2  A: 

See the Lithium about page in their wiki. It lists all the features it will provide. http://rad-dev.org/lithium/wiki/about

Bob D.
Yes, I saw that. Was hoping for more of a compare/contrast type thing against Cake specifically. Thanks though. :)
Jimmy Cuadra
+3  A: 

There is very little documentation so far. Here are some brand-new slides from gwoo though, that might be a good overview:

http://www.slideshare.net/gwoo/li3-ocphp

harpax
+9  A: 

Hey Jimmy,

Hope this answer doesn't come too late, (and as the lead developer of Lithium, I'm a little biased :-)), but I will say that this is a hard thing to sum up. Lithium is the culmination of over 4 years' experience building and working with CakePHP, and while it retains many of the same designs and conventions, it was built to correct CakePHP's many architectural flaws.

In brief:

  • Framework features are grouped into loosely-coupled "packages" that are easy to use independently.
  • Tangentially, everything in Lithium is a "library", including your application, and Lithium itself. Support for integrating 3rd-party libraries is vastly improved, and all classes are namespaced, so you can finally have a model called File.
  • It is very easy to swap out core classes with your own custom implementations.
  • Lithium has a unique "filter" system that allows you to hook into many methods in the framework, which allows you to design your applications in an aspect-oriented fashion. These features work together to make Lithium the most flexible PHP framework, bar none.
  • Everything is lazy-loaded, and the architecture has been designed for maximum performance.
  • Lithium supports the latest tech, especially new databases like CouchDB and MongoDB.

I could go on for a while, but that's the gist of it. If you have any more questions, feel free to drop by #li3 on Freenode, and someone will happily give you a tour.

Nate Abele
Thanks for the response nate! I've actually had this same question, as we have been thinking of switching from cakephp 1.2 to lithium, but the documentation of the differences between cake and lithium are a little sparse. The ability to easily swap out core classes with our own home rolled stuff would be really helpful, and was one of my main gripes with cakephp.
JoeyP
@JoeyP: You're in luck. I happen to be working on an FAQ that will hopefully start to address some of the questions around how you map CakePHP concepts to Lithium, and how you'd begin to migrate from one to the other.
Nate Abele