SitePoint Sponsor

User Tag List

Results 1 to 15 of 15
  1. #1
    SitePoint Evangelist
    Join Date
    Nov 2005
    Posts
    496
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    So... what's the verdict on the CodeIgniter framework?

    CodeIgniter: http://codeigniter.com/

    Are people here using the CodeIgniter framework? Hows it going? Is it solid? Does it do what it should? What projects have you used it in? Has it made your live easier?

    I'm currently trying to write myself a solid little set of classes that I can use in my freelance and outsourced projects... Things to cover table generation, form generation, security, image uploading etc. etc. I'm interested in CodeIgniter, but I just wanted to see how people here are using it and if it's worth my time...

    Also, is CodeIgnitor still being very much developed for? It won't be one of those projects that'll everntually just dry up and die? ... I hate to start using something, only for it to die a year later from having a crap community or whatever.

    Any opinions/experience/help on CodeIgniter would be muchly appriciated!

  2. #2
    SitePoint Evangelist simshaun's Avatar
    Join Date
    Apr 2008
    Location
    North Carolina
    Posts
    438
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I tried using CodeIgniter a year or two ago. It is a great framework, dont get me wrong, but I find that using frameworks usually only add un-needed bulkiness to a project.

    That is a highly debated topic, and some will say I'm wrong.


    However, on CodeIngiter, for a small website, it could be great. I can imagine a larger site getting very hairy when using it though.

    I would not worry about it dying out. It has been around for atleast 2 years that I know of. The community is fairly strong (see their forums). The developing company also developed the ExpressionEngine CMS, which is a pretty good one if you ask me.

  3. #3
    SitePoint Evangelist
    Join Date
    Nov 2005
    Posts
    496
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So... what do u use now? do u make ur own framework? that is what im trying to do right now... wondered if it was worth just using something like codeignitor.

  4. #4
    SitePoint Evangelist simshaun's Avatar
    Join Date
    Apr 2008
    Location
    North Carolina
    Posts
    438
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I have created my own.

    I made a set of classes that I might use in common operations such as file handling, url handling, session handling, file caching, query caching, etc...

    I also have made two include files.
    One contains a bunch of common arrays I might use such as states, countries, stop words for searches, etc...

    The other include file contains functions that dont really have a place in a class file.

    Here is where I have functions for sorting multi-dimensional arrays, validating e-mails (could be in a validation class), php4 versions of php5 only functions, etc... At the top of this file I have a block of code that removes any variables set by register_globals if its enabled and a block of code that removes any magic_quotes if its enabled.

  5. #5
    SitePoint Evangelist
    Join Date
    Nov 2005
    Posts
    496
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    see...that's a great way to code a cms.

    i tried to do it once before, and went about it all wrong... tried to make it do 'everything'... like output complete data tables, complete login systems, blah blah... sounds good, but was VERY complex and ended up being very restricting.

    what ur doing sounds good actually...

    i may go back through my client sites and see the common things between them, then code my cms around those things.

    any tips?

  6. #6
    SitePoint Evangelist simshaun's Avatar
    Join Date
    Apr 2008
    Location
    North Carolina
    Posts
    438
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well, I start by doing the opposite of what you were doing with your class files. lol

    My classes are as simple as possible.
    Ones that pull data from a database return only an associative array of the data.
    Yes or no kind of functions only return true or false.

    Only if you are creating something that will have the exact same look from site to site would you put formatting into the function.
    Your #1 goal when creating the class is to make it reusable.

    I try to keep handling the output outside of my classes because 99% of the time, how I handle that data will change for each different website I build.

    Example:
    -------------------------------------------------
    class file outputs associate array
    my display page loops through the array to output the data with appropriate formatting.

  7. #7
    SitePoint Evangelist
    Join Date
    Aug 2006
    Location
    Chicago
    Posts
    542
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    CodeIgniter hasn't really let me down so far, and it speeds up my process while learning how MVC works. I should go back to coding my own I suppose, but am more interested in creating a CMS than a framework.

    Two years ago I was in the process of creating a CMS that included a visual approach to adding simple logic to page components (loops, if-elses) and make these "logic blocks" re-usable in other pages. The logic would've been encoded in a serialized array and stored in a database.

    However this was from back when I was mainly using procedural code. That and the code's somewhat messy so it's back to the drawing board for now.

  8. #8
    Made with a Mac! philm's Avatar
    Join Date
    Sep 2001
    Location
    Portsmouth, UK
    Posts
    735
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    CodeIgniter worked pretty well for me too, small and perfectly formed, pretty fast to get things up and running.

    My only concern was is that I've no idea just how long it will be around and supported. As such I'm trying to get my head around ZEND now but it's a whole different ballgame

  9. #9
    SitePoint Evangelist
    Join Date
    Nov 2005
    Posts
    496
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You say about the Zend framework... To me, the only two main choices of frameworks for me (after researching, looking at the docs, checking the community, reviews, blah) are Zend and CodeIgniter. I started using CodeIgniter this weekend and got good results pretty quickly. I really like everything about it... It's very high quality, it seemed to do what it says it will, its helped separate my code nicely, the docs are great, the community is nice... It seems great...

    I've also tried looking at the Zend framework, though haven't really messed with it properly yet... It looks (and feels) like the 'big daddy' though... And I presume with Zend about it will really give PHP a more 'coporate' backing? Also... out of any frameworks... it's the Zend one that people who are reading your CV will be mostly interested in isn't it?

    Learning Zend and CodeIgniter, with all my OOP techniques, will surely make me a better coder? A better freelancer? A better person to hire for a job?

  10. #10
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    Learning Zend and CodeIgniter, with all my OOP techniques, will surely make me a better coder? A better freelancer? A better person to hire for a job?
    Now ZF 1.5 is out it seems a good time to make the effort to get started with it. I see ZF exposure quoted as a 'nice to have' in more and more in job specs.

    Having followed comments/postings/news about the ZF since it first started it looks very easy to get into, a bit like eZ components, you can use it as a library - you don't have to use it as your core mvc framework if you don't want to.

    I have to create a cms with internationalization and from reading the 3 ZF i18n components api's and documentation, and other user's comments - it looks impressive.

    CI was my first foray into mvc and I found it a bit unwieldy overall, but for the 2 (intranet) tasks I used it on it was pretty easy to use.

  11. #11
    SitePoint Evangelist
    Join Date
    Nov 2005
    Posts
    496
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hmmm... interesting... to be honest, I do like CI's way of doing things... I can see it really sorting me out (organisation wise) and letting me just get on have fun making the web applications I want... Important word here (for this point in my life)... fun! ... I haven't had as much fun with coding recently as I had with my weekend with CI... That means alot to me right now. It also inspired me to ideas that I could do with it, that would benefit me and my clients... All good.

    But I do understand that CI could possibly not have everything I'll need in the future...

    So... would it be a good thing to kinda become 'pro' at using CI and Zend - together?? Saying that Zend can be used more as a library, to me this sounds great...

    CodeIgniter and Zend together... could be the ultimate little baby for me?

    (just need a good quality Javascript library to go with it!)

  12. #12
    SitePoint Addict
    Join Date
    Apr 2005
    Location
    San Diego, CA
    Posts
    205
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm writing a CMS using Zend's Framework, Smarty and MySql. It's not done but I'm happy with the structure. Namely the plugins. All my system setup classes are plugins (system, security, user, groups, page, etc.). The documentation is adequate but since there's no cms using ZF with released files I can model it's a little challenging to figure out. It helped that I've developed a couple cms's before but it's still challenging.

    My current task is the acls. I'm sort of modeling it after Joomla + JACLPlus but still fixing many of the things Joomla does wrong and structuring the administration interface after one of my cms's where it's based more on pages than articles like Joomla/Mambo.

    One cool thing about using Smarty is I can reuse the hundreds of mambo and joomla view templates by just replacing the php content tags with smarty ones. That will save months of work for me.

    I've been using dhtmlxTree libraries at my job and it's very nice but of course the Pro version $$$ has all the cool features. I mainly just want a nice drag and drop tree editor that uses columns that I can include for free in the cms. Not too much to ask.

    Still got a long way to go but it's a fun project. GL with yours.
    I study speed waiting. I can wait an entire hour in 10 minutes.

  13. #13
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    @phpcamp.com - hope you don't mind me picking your brains a bit then...

    Are you using the full ZF mvc implementation?
    Are you using ajax at all with ZF?
    Is your cms targetted at any particular segment or niche market?
    Are you likely to be dealing with i18n with your cms?

    (i18n = internationalization, for any readers of this post bemused by it)

    @littlejim84 - CI and ZF, check on the CI forum or the wiki, there was something - if not I read of a cake / ZF hookups.

    Searching "cake zf components" turned up this post which might be enlightening.

  14. #14
    SitePoint Addict
    Join Date
    Apr 2005
    Location
    San Diego, CA
    Posts
    205
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Cups View Post
    Are you using the full ZF mvc implementation?
    Yes. Something I had to do was overload part of Zend's Response class specifically the _body methods. The reason was because Zend thought it would be a good idea to convert content added to the body as one long string which imo breaks the view rule. So, I made anything added to the body object a named array instead of a single string. I also added some new functions to prepend to body, addFirst, addLast, Concatenate, etc. to force some content to the ends of the array and replicate the original functionality. This way Smarty gets an object with an array of content containers that it can either display as is or manipulate to display differently like multiple columns.

    Quote Originally Posted by Cups View Post
    Are you using ajax at all with ZF?
    Yes but it's not complete. I need something with more juice. The free dhtmlxTree libraries are too limited. I've spent the last 4 months playing with ajax drag-and-drop, trees, menus, etc. but I haven't found a good OS ajax library that does what a cms would need.

    Quote Originally Posted by Cups View Post
    Is your cms targetted at any particular segment or niche market?
    Good question. Since I don't have 20+ developers working it with me getting stuff like install scripts and end-user documentation written will be slow in coming so it's probably for developers that could install it for a customer. I'm also writing a Suite of applications that I regularly need which may not be what others need. Initially I just want good custom user group control, document control, ecommerce. They'll be integrated which means they know about each other and can pass data back and forth.

    Quote Originally Posted by Cups View Post
    Are you likely to be dealing with i18n with your cms?
    Not for awhile. I do want to support PHP6's promised il8n features.
    I study speed waiting. I can wait an entire hour in 10 minutes.

  15. #15
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    @phpcamp.com - thanks very much for the replies
    @littlejim - sorry if I am dragging this off topic

    Quote Originally Posted by PHPCamp.com View Post
    Yes but it's not complete. I need something with more juice. The free dhtmlxTree libraries are too limited. I've spent the last 4 months playing with ajax drag-and-drop, trees, menus, etc. but I haven't found a good OS ajax library that does what a cms would need.
    Are you talking about client side bling lib (I prefer moo.fx) or the full clientside handlers? (I use Xajax, which is really full-blown and powerful)

    Quote Originally Posted by PHPCamp.com View Post
    Good question. Since I don't have 20+ developers working it with me getting stuff like install scripts and end-user documentation written will be slow in coming so it's probably for developers that could install it for a customer. I'm also writing a Suite of applications that I regularly need which may not be what others need. Initially I just want good custom user group control, document control, ecommerce. They'll be integrated which means they know about each other and can pass data back and forth.
    Sounds cool.

    I am looking more for a replacement core central library which drives a single cms which has many organisations/websites/.

    Just by copying a small amount of config files : templates, database credentials, change document_root etc, placeholders - add a new instance of the CMS.

    For admin users their login dictates which website content they are controlling.

    I already wrote( read write/re-write/have rewritten many times) a cms which does this to varying degrees of ease.

    But they are aimed a very, very narrow markets.

    Maybe I am bringing this back on topic, I use something approaching a framework for the admin control, but for the (mostly read-only) website it is simple models and templates- and evokes nothing from my admin framework.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •