"Even if it's CodeIgnitor", sounds like you think I made a poor choice.
Not a poor choice, just not the best choice. Best is subjective and very dependent on perspective. It's no secret that CodeIgnitor is not as well architected as other frameworks, like Zend or Symphony.
CodeIgnitor will get you started quicker than Zend but you lose some control, whereas Zend is more extendable and follows better design practices, etc.
My first framework was cakePHP, but I originally tossed it out because of the mvc framework
CakePHP is very similar CI in it's interpretation of MVC. MVC is not evil it`s the implementation of it that can be.
I haven't gotten far enough into any framework to prevent me from changing so what are your recommendations? What Which framework has the best classes? (Or does it matter, can't I just use codeigniter's classes in cakephp?)
If I had to choose for a commercial project (one which wasn`t my own) I would use Zend, although it requires you to be somewhat OO savvy with best practices, etc. You get less bang for your buck and what might take you 20 lines in CI might take 50 in Zend you get total control over every aspect.
Thats not to say you can`t have total control using CodeIgnitor or CakePHP but when you want something different than the way CI or CakePHP do it you basically have to re-implement the entire module you are trying to override. Whereas Zend supports inversion of control, so switching from say one URI router to the next is a simple matter of implementing the provider class and changing the class instantiated.
This is a difficult concept to explain in a few lines and without showing code, but suffice to say it reulsts in more flexible design, easier to change, maintain, etc.
This is the main reason design (as in architecture not visual) conscious developers usually prefer Zend over CodeIgnitor.
You should be able to use CI classes in Zend and visa-versa but CI classes might have strange dependencies which are initialized during it
s bootstrap, which would make using the CI class in a Zend application a serious PITA. Zend does not suffer from this problem, but you will need to remember to download the whole framework as its classes have dependencies on other classes as well...
I think I'll also install Joomla tonight for kicks even though I'm leaning away from CMS's.
Joomla of all CMS is by far the best design-architecture. It
s extremely modular and its concepts for components, modules and plugins are very clear. It doesn
t use the term
module` to describe all of the various extension points of the system which makes the learning curve much lower than say Drupal.
Joomla makes some really annoying assumptions and it
s difficult to build a component to be very portable and compatible with other components, modules, etc, but all in all its an excellent system with a lot of little caveats which could be improved that when added up would make for a much nicer system, but thats just my opinion.
Lots of addon functionalities thuogh, probably more than Drupal, just about anything you can imagine.
If I had a cheap client and they expected complete backend admin interfaces with basic content management facilities, etc. I would use Joomla before WordPress, Drupal, ModX, etc. The biggest issue with Joomla is the management of artciles (which by default is fixed to being organized by section and categories) and linking to pages when adding links manually in the WYSIWYG editor -- very unintuitive and confusing to most new users.