ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

CI vs. Symfony

March 11, 2008 3:37am

Subscribe [9]
  • #1 / Mar 11, 2008 3:37am

    mikeyhell

    81 posts

    So a friend just suggested I check out symfony for some development improvements.  First off, I should state that I have significant exp. w/ command line development.  I find this stuff crap.  Really, who has the time and effort to learn this.  I’ve been developing in PHP for almost 6 years and recently discovered CI and it’s been nothing short of a blessing in my development times.  I find CI perfectly capable of meeting my every needs, short of having a few bugs here and there, which can all be fixed.  I’m very close to telling my friend that he’s been wooed into a career of hardships and issues with this.  Just IMO.

  • #2 / Mar 11, 2008 4:14am

    xwero

    4145 posts

    Maybe you should go over to the symfony forum and tell them how they could improve their framework. All the command line generators is not my thing but apart from that i don’t see what is so bad about the framework. There are some very smart developers working on symfony and in their community.

  • #3 / Mar 11, 2008 4:42am

    mikeyhell

    81 posts

    I don’t doubt that their are very intelligent people working on this framework, and I know that I am in no position to tell them how to improve it, but it does feel like the role of the php developer is being phased out by this in a wierd effort to streamline an already robust environment.  It also seems that I am getting more requests to work with symfony and I’m not sure why clients are requesting this when CI is perfectly capable of handling most projects.

  • #4 / Mar 11, 2008 5:04am

    xwero

    4145 posts

    Why shouldn’t you be in the position to tell them how to improve it? A community is an extended developer team which has its own views and solutions. It’s up to the developers of the framework to incorporate the suggestions or not.
    About phazing out developers i don’t think that is going to happen soon because clients have specific wishes. No framework, CMS, or other tool is going to be consumer ready. I think once you get the hang of the framework you are going to tweak the generators, create things you are going to use, ...
    Non technical people will always be hype sensitive and probably symfony makes a bigger impression than CI. I bet if you do the site they want with CI instead of symfony they won’t even notice 😉

  • #5 / Mar 11, 2008 11:59am

    MadZad

    62 posts

    Further meandering from CI vs Symfony, I ditto xwero’s comment.  Frameworks and other good tools mean the programmers can be more productive, and hopefully more accurate.  We’re not spending time making sure punchcards are correctly ordered any more, and there are no complaints about that.  I consider usable high level libraries to be the greatest advancement in programming in my (ugh) 20 years of doing this stuff.  It shields you from crap and wheel-reinventing so you can attack the real problems.

    What’s been most interesting to see during that time, is how every year the newest programmers have such a fundamental sense of visual and user design.  We can’t just write PHP, we need to produce the CSS, HTML and other elements of the user experience.  That, simply put, is HUGE in making computers more useful.

    Rest assured, programming will still be needed for some time to come.  It will just involve more UX, business analysis, or both than the “good old days” when my knees weren’t crunchy.

  • #6 / Mar 26, 2008 4:20pm

    andjules

    42 posts

    I’ve taken long looks at both CodeIgniter and Symfony.

    |off-topic:| Firstly, I don’t think Symfony has better ‘hype’ than CodeIgniter. In fact, lack of hype/marketing flare is one of Symfony’s hurdles. Although ‘hype’ <> good graphic design, when you finally land at codeigniter.com, you are greeted by a nice, slick, well-thought out site, not some poorly-designed or no-frills-sourceforge-ish mess. |/off-topic|

    CodeIgniter & Symfony in my mind are the two best framework-communities for PHP, operating at two opposite ends of the spectrum. Now, before everyone starts flaming me with their favorite mini-frameworks, I personally wouldn’t invest my time in learning a framework unless it had some history, some backing, some visionaries protecting it from be-everything-to-everyone-bloat, good documentation, and a big, vocal community. That means that in the end, I’d probably really only look at CodeIgniter, PHPCake & Symfony, possibly a couple of others… I should probably give Zend a closer look than I have to date.
    CodeIgniter is the simplest, help-me-write-my-php-faster framework that meets the above requirements.
    CodeIgniter certainly has its paradigm issues, but unless you’re building something that really needs to be OOP down-to-the-core (just because CI is php4-compatible, it doesn’t mean your functions can’t be php5…), CI does very little to hold you back.

    Symfony, on the other hand, is (at least trying to be) a giant repository of web-building best practices. It’s enormous, it’s a bit slow, but there are a tremendous number of resources (core & 3d party) to leverage… I’d say for every helper/plug-in available for CI, there seem to be 2-3 core-or-3rd-party ones for Symfony… and not pre-configured snap-ons, but (generally) well-thought out libraries so that you don’t have to learn the ins-and-outs of authentication strategy, security, Amazon S3, etc., etc., etc. It’s a very philosophical community, I tend to think that most of what gets ‘accepted’ there in terms of libraries/plugins/core can be deemed to be built reputably/via best practices). And of course the ORM approach makes it very easy to build an app iteratively without having to plan/commit to a database model beforehand.

    On the other hand, if you are not sure about frameworks, my sense about symfony is that you need to make a significant commitment to learning it before it begins to pay-off as a faster development approach. As well, it’s a bit more of an international community, which means that if english is your first language… well, the community forums tend to be a little harder to navigate because so many of the coders have trouble communicating well in english. I’d also venture to say that it is not quite as newbie-friendly a community as CI (although it is very friendly compared to most other large, deep, open-source projects!).

    As a freelancer working on gigs that often go beyond the capabilities of a CMS, I’ve come back to CI recently; it’s a more attractive model for me. My projects should be somewhat portable, meaning that if my client invests in a PHP website, another programmer should be able to pick up the contract and figure out how-I-did-what without too much investment, and CI is certainly better in that regard. On the other hand, if I was hiring 10+ full-time developers to build a web 2.0 business with a real investment & good internal development documentation, I’d probably make them all learn Symfony…

    My 2ยข.

  • #7 / Mar 27, 2008 2:46am

    Gordaen

    76 posts

    I pretty much agree with andjules.  CI is very down to business and nuts & bolts.  You can get started right away and mold the code your way.  Symfony is truly massive, and very powerful, but that comes at the cost of a much steeper learning curve.  It’s definitely full of great features, many of which would be nice in CI, but I do like how different they are.  CI seems to have a lot more of what made PHP fun to learn: ease of use and instant results.  Symfony takes quite a bit more effort and is a bit more resource intensive, but it’s definitely worth learning for a major project, especially collaborative with i18n needs.

    Essentially,
    CI: Here are the tools; do what you want.
    SF: Here is the complex assembly line; take the time to learn it and you can produce some great stuff. Or don’t take the time and lose an arm to one of the machines 😉

  • #8 / Mar 27, 2008 10:58am

    sikkle

    325 posts

    I think the last two post resume pretty well some difference.

    mickeyhell : Fabien potencier is prolly one of the most community oriented guys, so he will be more than please to received your comment to improve the framework, as same as codeigniter crew will be more than please to received your comment also.

    glad to see people keeping this thread healthy and not too much emmotional.

  • #9 / Jan 14, 2009 11:28pm

    animaster

    1 posts

    Thank you for a very detailed overview between this 2 frameworks. I have some experience with CodeIgniter and I’m thinking of switching to Symfony for the upcoming project. After reading your view about Symonfy, I know that it’s impossible for me to learn and implement Symfony for this project with tight deadline. I think I will learn Symonfy in my free time though.

  • #10 / Mar 17, 2009 8:42am

    RedLeader

    33 posts

    CodeIgniter & Symfony in my mind are the two best framework-communities for PHP, operating at two opposite ends of the spectrum…

    I agree with most of what you say andjules.  A very good crtique of both CI and Symfony. 

    I’m a freelancer and I use both CI and Symfony.  Recently projects have been small and quick to build so CI has been ideal and now I am about to embark on a lager project so I am gearing up to using Symfony 1.2.  Although the last time I used Symfony was version 1.0 and there have been a lot of change since then so I am again going to have to hit that steep learning curve (which I am not too happy about).

    For me CI is a shovel and Symfony is a JCB digger!  It’s “horses for courses” though so choose one depending on the project requirements.  If you have both these frameworks in your tool belt then you are covered for all eventualities. 

    I love CI but I also love Symfony.  I can love them both and no one can stop me!

  • #11 / Mar 29, 2009 11:34am

    webscriptz.be

    19 posts

    comparing things is always harsh, everything has pros and cons but in this case fact is that the learning curves are enormous with Symfony. I’ve tried it until the errors appeared in system especially the propel thing frustrating when it’s not working properly. The generation functions are fun when able to use it but still it’s awkward if we keep evolving this we’ll be console dummies in 10 years from now, nothing more.

  • #12 / Mar 30, 2009 4:59pm

    Aea

    83 posts

    I personally have no problem with the use of build scripts, and I’ll be first to admit that the majority of projects I work on have some sort of command line build script, it’s simply impossible to work without one on a bigger project. People who complain about building for the sake of building need to rethink that point of view.

    My problem with Symphony and CI is simply the MVC paradigm. I work with large systems where the MVC paradigm is simply not applicable. In my view the controller isn’t supposed to contain all the business logic and glue to the models and views. On the other hand the controller should communicate with a core and simply tie in user interaction (input w/ validation, and output). In fact, it should do much less than that, as it should only be the glue between user and core, and nothing more. As you’ll also guess I’m a big proponent of OO based design as it allows me to get more done and implement the low level functionality of PHP only once and allow for continual reuse.  So I’m a fan of a big framework, but a framework that I control. If you’re wondering why I think of the controller as glue only, think of multiple controllers to do the same task, you need a web interface, you need a mobile interface, and you may need an API interface. It makes sense for the logic to live deeper than the controller.

    CI allows me to follow this paradigm w/ the use of library as my “core,” and that’s why I like it. It’s an organizational structure and truth be told it’s probably the best one out there. That said if I ever needed to write an application that would have high performance, high scalability, and be highly maintainable and had the resources to strike a balance between perfection and pragmatism I would write my own framework fit to the project at hand. Not to diminish CI, I am in the small minority where MVC isn’t a good solution 😊

  • #13 / Apr 14, 2009 5:51am

    mikeyhell

    81 posts

    Funny this has come back around after a year.  I actually ended up taking a job where Symfony was a requirement.  Although my initial comment was pretty harsh and a little unjustified, after really diving in to symfony, I basically feel the same way.  Symfony does have some great features that I feel are a little under represented in CI, but I’ve found that developing, deploying and supporting my apps for the long run is something I can do much more efficiently - saving my clients time, saving my time and allowing me to work much more easily with developers who due budget or time constraints, can’t be ramped up on a framework like symfony.  Alot of developers who I work with, work exclusively w/ Symfony and when I mentioned to them I came from a background in CI, I was labeled the kiddie framework guy, even though I have ~7 years in PHP development, almost double of any 2 of the crew.  But I got a good laugh when they looked at why they were over budget and out of time and realized that almost half was spent configuring and fixing the framework itself.  I will say, I do miss the CLI generator though ... I was just creating a new project in CI today and wished CI had one.  Maybe a project for another day.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases