Saturday, June 05, 2010

PHP, CodeIgniter, Doctrine and ExtJS

So, its been ages since I have posted anything on this particular blog, so time for an update.

Although I still dabble with MS technologies, I find the bulk of my development has moved to MVC geared frameworks (ideally rails based) - which (I find) works best within the contexts of dynamic languages..... so I have been using platforms like Ruby, JRuby, PHP, even ColdFusion for the last few projects. My tech stack of choice is:

ExtJS : client side JS library
JRuby : presentation tier
Java + Hibernate : domain + data layer

In the latest project however I have been developing a survey site in PHP. I thought that to save anyone else time, I have created a 'project starter' development stub which incorporates:
  • ExtJS 3.2.0: client side JS library,
  • CodeIgniter 1.7.2: presentation + domain tier,
  • Doctrine 1.2: ORM data layer framework

The idea being that you can simply extract and develop, without wasting time integrating all the techologies so that they work together....

Some features of this project starter are:
  • CodeIgniter Models have been replaced with Doctrine Records
  • Doctrine is loaded into CI as a plugin
  • RoR type before and after filters....
  • Doctrine transactions automatically wrapped around every action at execution time (ATOMIC db updates)
  • Basic Role based security (I think Redux may be in there as well?)
Simply extract, hook up the database.php config file and viola.... You can start coding your layouts, views and models.

Licensing: refer to all integrated frameworks licensing agreements for details (i.e. Doctrine, ExtJS, CodeIgniter). Original licensing agreements are bundled in the Project starter for your reference. The Project starter is a freely distributed, open source integration of technologies. Just make sure that you are using each framework in adherence to their respective licensing terms. As far as I am aware all technologies can be freely used under GPL.... 


Anonymous said...

wow it looks good, im going to try it!!

thanks a lot

gbuster said...

Thx for this! I have been looking around for a CI environment with doctrine (and ext) already included just to alleviate the first (painful) steps of integrating doctrine in CI. Just finished playing around with your included unit tests, all seems to run quite well! Thx again, now I can start to evaluate whether it makes sense to use doctrine in one of my next CI projects... :-)
Greetings from Germany & have a nice day!

Jens said...

Hi Ben,

sounds interesting. Sadfully the given link is dead. Any possibility to reupload it?

Ben Kitzelman said...

Hi Jens,
Thanks for the heads up!

I have had some dns issues recently with my file server. and I didn't realize it affected the blog. I have updated the link so this wont happen again :)

Should be posted up for download

Anonymous said...

I'm a total newbie - so forgive a dumb question...

I set up mamp, have my websites set up on external hd, and extracted your zip there. Loading just the url to "projectstarter" I get the folder listing. If I load url "projectstarter/mypages/ I get blank - source of page is blank, too. What am I missing?


Ben Kitzelman said...

I think its extracted one folder too deep. If you make MyPages the webroot, so that index.php is in the served webroot folder (i.e. http://localhost/index.php)

Anonymous said...

Thank you!!!

ZabeganSo360 said...

Tnx u greetings from Macedonia

shinfa said...

cool framework thanks.