views:

595

answers:

6

I have to develop a CMS for a friend of mine, nothing commercial...

I'd like to take this opportunity to learn a php framework, to see if it would be suitable for future (and more complex) developments, or at least to steal some nice ideas...

SO I'd like to easily implement a content management system and at the same time have a look at a modern php framework (one of the rails inspired ones, or at least implementing MVC, which I think covers them all...)

I've heard of http://www.digitaluscms.com/, built with zend framework, and http://radiantcms.org/, but that is ruby on rails (I'd prefer php for ease of deployment and hosting...)

A: 

Use Joomla. It probably won't teach you much but you will get a very nice system. Professional level even. Joomla has a MVC framework but most of what you do will be configuration. But really who wants to do a cms any more anyway? So many of them out there.

All kidding aside, Joomla is written in php, scales nicely and has a nice admin interface for the client/end user. It is also used all over the place.

If you really want to learn a usable framework try to write the cms in zend or codeignighter. those are beautiful frameworks.

Byron Whitlock
+1  A: 

Others have mentioned various pre-built CMS applications. If you want to build your own in an existing PHP framework, check out CakePHP or symfony.

http://cakephp.org/

http://www.symfony-project.org/

But really, you should just learn Django, because it's so awesome.

Paul McMillan
yeap, I've heard lots of great things about django, I'm just concerned about the hosting availability...
opensas
If you're comfortable setting up a web server from a barebones Linux install, hosting availability isn't a problem - buy a server slice somewhere like Slicehost.com. Plus, unless you're planning on serving clients who're stuck on a specific host, there's always going to be *somewhere* that supports Django at a reasonable rate.
ceejayoz
There are several more options in both these categories and the ones mentioned are not the market leaders. Look into Drupal, Wordpress, ExpressionEngine and SilverStripe for CMS and Symfony and CodeIgniter for PHP frameworks.
Jon Winstanley
Django is possible to host on most shared providers these days. Even Dreamhost supports it in a pretty straightforward fashion. Anything that'll let you run cgi or fastcgi can be made to run Django.
Paul McMillan
+3  A: 

If you want a CMS built with a real Framework, I've heard (just today, actually) of Diem, which is built upon symfony (and uses some components of Zend Framework).

Maybe Sympal, also based on symfony, could interest you too.

If you want to learn, and work with symfony, one of those two might be the perfect match for you.


Still, as those two are not as popular as Drupal (or Joomla, or whatever other well-known CMS you can think about), I would probably not use them for any "real" site -- at least, not before studying them for a while.

Pascal MARTIN
thanks, that's exactly what I'm looking for... symphony was certainly on the list of frameworks I'd like to peak at...
opensas
The popular CMSs mentioned here are all fine for "real" sites, no study needed. They aren't the sort of thing I personally use, but denigrating them in that fashion is perfectly unnecessary.
Paul McMillan
who's denigrating what????
opensas
@opensas > thanks :-) ;; @Paul > sorry if you felt my answer was denigratind ; it was not meant to be ; I just wanted to say the two CMS I linked to are not as widely used as some others, and that I would not use them on a "real" site before knowing them better -- but that doesn't mean they are not good ;-)
Pascal MARTIN
+3  A: 

For a framework, I would recommend Code Igniter wholeheartedly. It's MVC based, super-lightweight and it reminds you of Rails a lot. You can check out a screencast of a hello world application here: http://codeigniter.com/tutorials/

In regards to a CMS that could be http://expressionengine.com/, it's a popular CMS built on top of Code Igniter. I don't really like it as a CMS, but you were asking about a good platform to build on, so that would probably be a great bet.

The most common PHP frameworks are Symfony and CakePHP - I don't know CakePHP so much, but personally Symfony is too big and bloated for my taste, although very powerful.

The most common used CMSes are of course: WordPress, Joomla and Drupal. There are endless other systems available, but most of them don't really have a great platform to build on.

Good luck!

arnorhs
+1  A: 

A free CMS built on CodeIgniter is PyroCMS. The demo is currently down but installer is so freaking simply you could have it running in a few minutes.

Modular, multi-lang, UTF-8 throughought and pretty easy to skin.

Unlike other CMS' I have seen built on frameworks, PyroCMS doesn't touch the core framework at all, which means future upgrades of CodeIgniter will be easy.

Phil Sturgeon
A: 

you should take a look at silverstripe - besides the fact hat you really should read about what a framework nowadays can deliver, so some basic knowledge about Rails and Django is absolutely essential to put yourself in a position of beeing able to decide yourself what is good for you and what is not.

One most important thing ignored is RESTful-ness - many CMS or Frameworks still not support it or at least do it very complicated. Yuo need to read about REST to understand, why you want a framework or / and CMS that suppirts REST.

Talking about Joomla here is, of course, a joke.

Jones