6 Mar
“My framework is more MVC than *your* framework!”
I like to check out the programming section on Reddit on a regular basis because it usually contains some interesting links. Yesterday I came across a link that discussed the fallout surround a presentation at phplondon08 where panelists on a discussion of frameworks got heckled but some guy claiming to be an expert on what a real MVC framework is.
All major Rails clone PHP frameworks that exist on the market today are a complete and utter failure. All of them call themselves MVC frameworks and none of them implement actual MVC. In fact, some of the worst ones merely resemble MVC, and have no right whatsoever to be called frameworks. Whatever benefits of sexy ORMs and flexible build systems and scaffolding and other secondary tools these frameworks have are nullified by the fact that using them results in architectural chaos which is no better than your usual spaghetti code. This is because the people who wrote Rails didn’t bother to understand MVC, and the PHP amateurs who were excited about the idea of getting done more in less time blindly tried to clone Rails into PHP and in so doing not only replicated the stupidity of Rails into PHP but also multiplied it by their own incompetence and PHP’s shortcomings as a language and a platform.
No, tell us how you really feel about it.
Anyhow, this guy apparently works for the Agavi project, a (wait for it) MVC framework written in PHP as an “evangelist”. Well, he certainly talks like you would expect an evangelist too.
The comments for that post are really interesting too, as people take their usual swipes at PHP, and CakePHP, and the Symfony guys come out in droves to talk up Symfony, and on and on it goes. Sadly, this is not a unique occurance on the web.
So, back to the topic of the post. Is this guy right? Is *nobody* except Agavi doing it right on the PHP side of things? I took a peek at their documentation. Lots of statements about what a framework should and shouldn’t do.
(Author’s note 03/10/08: removed code example as, well, it’s not really relevant to the discussion, other than making me giggle about mixing business logic with presentation logic)
Digging through the documentation some more, it’s quite dry. Short and sweet, not a lot of tips on building an Agavi app from scratch. Again, to be fair, that might not be the point of the documentation. But it’s approach is very, *very* different from the “Rails way” that CakePHP has been following. Before you flame, there is nothing wrong with the “Rails way” because, if nothing else, it has forced developers to crank their skills up a notch and actually *think* about what they are building.
I knew one of the original developers of Mojavi (of which Agavi is a fork) and he was a really smart guy (Hi Shawn!). My early forays into framework use was with Mojavi, when trying to convince a previous employer that we needed to rewrite this monster PHP application with Mojavi so we could get things like a private branding version of the site done a lot easier.
When I compare this to Cake, they are as different as night and day. Agavi (and Mojavi) are heavily configuration-oriented (XML *everywhere* for config files), while Cake uses conventions to try and speed things up. But the real truth is this: they are both trying to separate your business logic and your presentation logic to make things easier for the poor saps who have to build these applications.
Our lovely heckler has missed the forest for the trees, as far as I’m concerned. It’s like complaining that you can’t call it a forest because the trees aren’t growing straight up and down, but tend to branch out in different directions. They’re still trees, right?
Frameworks are designed to try and help you to get things done faster *and* to organize your code in a much more consistent manner. Cake uses the Model-view-controller design pattern, and I think that the quote below makes it clear that Cake is doing it the right way:
Model-view-controller (MVC) is an architectural pattern, which at the same time is also a Multitier architecture, used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.
If you are trying to tell me that CakePHP does not follow that practice, then I am calling you a fucking idiot who is more interested in pedantic minutiae than understanding that there is more than one way to implement MVC.
Article Tags >> frameworks || MVC || PHP
Posted by Baz L on 06.03.08 at 10:32 pm
Classic E-Penis battle. This always happens when some new tech. catchphrase comes along. It happened with CSS, it happened with AJAX, now it’s happening with MVC.
Not trying to add to the rant, so long story short: Everything has its purpose. Stop trying to be the “cool guy” and just pick something that make sense to you for what you’re trying to do and get stuff done.
Posted by Tony on 06.03.08 at 10:32 pm
Bravo! Well said.
Posted by nate on 06.03.08 at 10:32 pm
Well, I wasn’t really gonna get into it, but since you asked…
If you read carefully, you’ll see that debating semantics isn’t really what’s going on here. This guy’s arguments are long on rhetoric but short on specific criticisms (most all of which Cake actually stands up to just fine).
By calling himself an evangelist, he’s actually giving the whole game away, which is this: here’s a guy who probably, like me, has invested countless hours developing a project according to his own ideas of what constitute the “best” implementation of his chosen design patterns.
But here we are years later, and while Cake has moved on to become the dominant framework in the PHP community, Agavi is still wallowing in obscurity (it’s worth noting that Agavi is actually older that Cake). If I were an Agavi evangelist, I’d be pretty upset, too.
Posted by austin_web_developer on 06.03.08 at 10:32 pm
Hear hear!
I’m starting to use CakePhP and CodeIgniter a lot now and I have a tiny framework, I’m building which I use for static or smaller websites.
I was curious though … how do you feel about CodeIgniter and Symphony?
Posted by David Boyer on 06.03.08 at 10:32 pm
Well said, I’ve never liked the whole framework-ism of mine is better than yours but this guy takes it a little far.
Plus cake is certainly MVC, you can’t even say that his framework is anywhere close to being as compliant to the methodology.
I especially liked the one comment “but also multiplied it by their own incompetence and PHP’s shortcomings as a language and a platform”. Is it me or did he just slate the language/platform that he’s building his own framework on? Muppet hehe.
Great post
Posted by Richard@Home on 06.03.08 at 10:32 pm
meh, let him have his rant.
Meanwhile, lets just get on with writing solid, stable applications quickly - and getting paid
Posted by Martin Bavio on 06.03.08 at 10:32 pm
That´s what I call really bad FUD tactics.
Posted by Chris Hartjes on 06.03.08 at 10:32 pm
@austin_web_developer
I use CI at work (inherited a project that was started with it) and, well, I don’t really like using it at all. I had contemplated scrapping what was there already and re-writing it in Cake, but a big chunk of infrastructure had already been written. The Chris of 5 years ago would’ve rewritten it out of sheer spite, but I’m lazier now.
The only Symfony work I’ve done was going through a sample app on their web site maybe 2 years ago (building something with some simple Ajax functionality).
Posted by austin_web_developer on 06.03.08 at 10:32 pm
Yeah … Code Igniter seems a little “hacky” to me … I wish Cake would follow their lead in making video tutorials and more accessible documentation though.
Posted by Goncalo Fonseca on 06.03.08 at 10:32 pm
…it’s like the chicken and the egg story.

Posted by leveille on 06.03.08 at 10:32 pm
Richard@Home: amen to that.
Posted by Andrew on 06.03.08 at 10:32 pm
Codeigniter … hackish!
I challenge you to a duel!
Posted by Fredrik on 06.03.08 at 10:32 pm
If you’d bother to read his entire rant you would notice that he has some very good points, and if you’re going to follow the original MVC-spec on how the three layers should be seperated, then Cake is far from it.
I did try out agavi, and they do have some very nice ideas and implementstion in there, however the documentation just sucks, which I would say is one of the major reasons no one is using it. “An open source project is only as good as it’s documentation”, however - Cake’s doc’s blows pretty hard to, so, meh.
Posted by Mike Seth on 06.03.08 at 10:32 pm
Hi Chris,
That’s me, the heckler guy. Of course, I’d like to relate.
First, the code example you’re bringing up is irrelevant. It has nothing to do with the framework at all.
Agavi has output types as first class objects (well, to the degree PHP allows such a thing, anyway). This means that, independent of the action code, views can produce output in any desired output type. That is, the same action can yield HTML, JSON, XML, CSV and any other kind of response. The code you’ve posted is *not* framework code: it is an example code used to show how to query an Agavi application that supports XMLRPC interface, externally.
So, I’m sorry to tell you that you are wrong. If you want to look at the sample code, look at this:
http://trac.agavi.org/browser/branches/0.11/samples/app/modules/Default/actions/LoginAction.class.php
http://trac.agavi.org/browser/branches/0.11/samples/app/modules/Default/views/LoginSuccessView.class.php
http://trac.agavi.org/browser/branches/0.11/samples/app/modules/Default/templates/LoginSuccess.php
Now, I would like to refer you to the Controller implementation of Cake 1.2
https://trac.cakephp.org/browser/branches/1.2.x.x/cake/libs/controller/controller.php
Scroll down to line #154
If you call this MVC, then I have nothing further to say.
Posted by Mike Gregoire on 06.03.08 at 10:32 pm
My Cake is bigger than your Cactus?
Posted by Chris Hartjes on 06.03.08 at 10:32 pm
@Mike Seth
Always nice to get info from the source, instead of second-hand. Let’s get to your points:
First, yes, I understand that the example code is not relevant *but* it is handed out as an example on how to use something related to Agavi. I see business logic mixed in with display logic, which was my point. Obviously that is not how you build an Agavi project. Even I am not that stupid to imply that.
Second, those links to the Agavi trac don’t help me because they are out of the context of actually building an application. An example of a simply Agavi app would be great. If the point of those three links is to show me some elegant, succinct code, then it is certainly that.
As for slagging one line in the Cake controller, c’mon man, show a little more maturity. I understand the bitterness about Agavi not being as popular as Cake despite being older but again, you’re missing the forest for the trees.
I feel like you’ve totally missed the point of my article, and I think your comments have proved it.
Posted by Mike Seth on 06.03.08 at 10:32 pm
Well, I don’t know where you got the bitterness part. During this whole thing, I only mentioned Agavi once, and only as fair disclosure. Everything else is speculation by other people, as I was extremely careful to dissociate myself from Agavi for the purposes of this discussion - and I am really glad that we’re having it. Why should I be bitter of all things? I am not one of Agavi developers; I merely use it for my everyday work. Directly and indirectly, my Agavi applications make me money. My anger and zeal is directed not at success of other frameworks but rather at the way they deceive - and thus raise a new generation of - developers who find it perfectly normal and acceptable to take “strategic shortcuts”. Now as an evangelist to evangelist, do you honestly believe that promoting half-assed technologies results in profit for anyone?
A sample Agavi application is being written right now. We’re also switching to a new documentation format, but quite honestly, none of this is of great priority because we don’t really benefit a whole lot from influx of new users. Agavi is a conservative framework and is manned by extremely conservative people. We value consistency and forward compatibility over rapid prototyping and time to market. Naturally, our perspective on everything programming is also conservative; we’re not in a rush and we’re hardly in any competition. I personally believe that you can not and should not be working with a framework until you’ve read all of its code so many times that the architecture actually makes sense to you. This is also the reason I stay away from Rails and its offsprings: there is too much dirt and mistery in the code. I don’t trust it, and it feels wrong to use it.
Now back to Cake and its deficiencies; since one example of blatant and shameless violation of MVC is not enough to convince anyone these days, how many more do I need to point out? Seriously, do you want me to sit down and go through all of the recent framework releases and dissect them bit by bit? I’ve briefly named it all: models being replaced by data access layers, distinctions between controllers and views erased, domain logic floating in controllers, helper facilities introduced to compensate for architectural deficiencies, Cake is, architecturally speaking, spaghetti. Now, I understand that there is a certain range of projects for which Cake is appropriate. Unfortunately, the kind of work I do precludes me from ever using it or anything based on it.
But enough words. In the closest days, I will look in depth to the latest versions of major PHP MVC frameworks, and we’ll see just how much MVC is out there. Agreed?
Posted by Trophaeum on 06.03.08 at 10:32 pm
Sorry but i’m with mike, the controller shouldn’t have anything to do with the display logic in it and setting the page title in the controller… wtf? thats just dodgy…
Posted by David Zülke on 06.03.08 at 10:32 pm
Do you understand what the sample you posted actually does? I mean… you realized that it is called “xmlrpc-test.php”, right? You understand that it makes a *local* call to the XMLRPC interface of the sample application (which also has a web interface and a SOAP API) to “xmlrpc.php”, and that the normal web interface is served via “index.php”? And that this has nothing to do with the internal architecture of the framework? Or is this totally over your head?
Posted by ryan on 06.03.08 at 10:32 pm
MVC is like patterns. These are simply ideas that can be implemented a multitude of ways. In fact MVC has been around for a long, long, long time but maybe all the people that had to work on Jakarta Struts sites in Java all killed themselves and then it is resurging somehow. There is a pattern of MVC that identifies a code sniff, but there is not MUST, it is more of a SHALL.
Posted by Brice Mayo on 06.03.08 at 10:32 pm
I’ve had the sad privilege to maintain an Agavi site for a while. It’s an over-engineered object oriented nightmare, I wouldn’t touch it with a 23 foot pole. Yeah, it’s got Models, Views, Actions and Controllers, and god knows that for every line that actually does do something, you have to write 50 lines of boiler plate code, and create files here and there. It came with a code generator that didn’t work, so good luck there.
Posted by Chris Hartjes on 06.03.08 at 10:32 pm
@Mike Seth
Hey, I have absolutely nothing against Agavi at all. It appears to be a very solid framework. I don’t think I slagged it at all once I started looking closer at the documentation. I absolutely 100% agree with you that if you don’t trust the code, you shouldn’t use it at all.
But is a thorough side-by-side comparison of all the major frameworks and how they implement MVC really going to do much? Is the real problem the frameworks that say they are MVC when they really aren’t? Perhaps should something like CakePHP call itself simply “a web application framework” and leave out all that “we use MVC” stuff?
CakePHP seems to be popular because it just lets you get things done quite fast. Obviously that has it’s place, and so does the conservative focus of Agavi. There is definitely room for both to exist. It’s not about there being a winner, more like all of them will be losers if people don’t understand the real point of using a framework (Agavi, CakePHP or some of the more event-driven frameworks popping up).
Besides, as an evangelist for Agavi how can you *not* get upset when other frameworks are more popular? If you don’t get mad and try to convince people that Agavi is superior, does that mean you’re not doing a good job?
So Cake does a poor job of implementing MVC? What about Agavi? I ask because I have no way of knowing other than taking your word for it because I’ve never build an Agavi application. Built a Mojavi one about 4 years ago, but I’m willing to bet both frameworks have evolved way past that point since then.
@David Zulke (sorry, can’t do the umlaut on my keyboard)
Yes, I understand what that code sample was and I’ve said as much. I’ve used enough frameworks to understand the basic concepts so it’s not over my head. But thanks for trying to insult me. It just seemed odd to me to give sample code that smashes together presentation logic and business logic to promote a framework that separates them.
@Ryan
That was part of the point of the article as well. Thanks for picking that up. Like anything, there are good implementations of MVC and bad implementations of MVC. I just happen to be in the camp that says CakePHP is a “good enough for what I want” implementation.
Posted by she on 06.03.08 at 10:32 pm
Actually I think the biggest problem is not so much “this is MVC” and “This is NOT MVC”, but more the questions why I, as a developer, should cater of anything of that.
Dont get me wrong on it, I prefer convention over configuration, but configuration must always exist. The same counts for documentation, as a teaching tool.
But why settle for one pattern, instead of one that just “works”?
I am always in favour of embedding code (i.e. php) but personally I never used it anyway, because I believe it is much better to create ALL the html, css, js etc.. etc. dynamically. (And if you need the better results you can auto-create the files).
Then you need a database, but I am not sure why we absolutely need MVC their. Making it easy to use a database is good, no matter if one uses MVC or not, anyway!
Posted by Crescent Fresh on 06.03.08 at 10:32 pm
Your piss-poor choice of an example removes all doubt about your immaturity in this field. You saw tags in an XMLRPC example and your first thought is “mixing business logic with display logic”.
From the ad hominem remarks you are making towards Mike Seth it’s apparent you are not even trying to understand his point of view.
(And enough with the forest for the trees analogy)
Posted by sjs on 06.03.08 at 10:32 pm
Modern frameworks are missing the lessons of older MVC systems (fex. WebObjects). Rails’ scaffolding is a one-time boost and then you are on your own maintaining the generated code by hand. That is the lazy way to do it compared to WebObjects, where you get default forms similar to Rails’ scaffolds, but then you customize them with rules to your hearts content instead of doing it by hand. It’s harder to build, but the better way to go.
http://www.willingtofail.com/research/rules/d2w.html
http://blog.lostlake.org/index.php?/archives/16-Web-Framework-Manifesto.html
Posted by Chris Hartjes on 06.03.08 at 10:32 pm
@Crescent Fresh
Thank you for the kind words. I will say this again: yes, I understand that the code example I presented IS NOT AGAVI CODE. There, I said it. I hope that clears it up.
I also understand Mike Seith’s point of view where he says that all these frameworks that are claiming they have implemented Model-View-Controller have instead done an implementation that, in certain specific instances, has placed things where they would not belong in a pure MVC implementation.
Mike’s opinion is Mike’s opinion, just like this is my blog where I can talk about whatever I like. He likes Agavi and thinks that all other frameworks that claim to have implemented MVC are not doing it.
As for my ‘ad hominem’ comments, again, you’re not paying attention. Where have I said that Mike is totally wrong? I believe my actual comment has been that if Mike thinks that CakePHP is not implementing MVC, then I think he is being pedantic, as I think shouting at people that “everyone is doing it wrong!” isn’t the best way to get the point across. A framework is about more than a 100% pure MVC implementation, wouldn’t you agree?
His argument has merit, otherwise I wouldn’t have bothered doing a blog post about it. The real question is does anyone really *care* that all these frameworks that proudly fly the “we’re doing MVC!” don’t do it 100% properly. It’s obvious that Cake doesn’t, but that doesn’t seem to bother the people who are using it and making money building sites with it.
In that case, does Agavi stick to MVC 100%?
Posted by Rozza on 06.03.08 at 10:32 pm
The author really should not just put a footnote about the code, as the code is just a sample of how to consume a xmlrpc service!! It just muddies the discussion!
Also does Agavi stick to MVC 100%? Depends on how you code your application, if you speak to the DB in your templates then no it won’t.
The whole crux of Mikes ‘heckle’ (which incidentally it was during the Q&A session, so wasn’t really a heckle at all), was that some frameworks declare themselves as MVC when they violate some very basic principles of the separation of concerns that the MVC paradigm embodies…
Posted by Ceeram on 06.03.08 at 10:32 pm
From the manual:
CakePHP is a free, open-source, rapid development framework for PHP. It’s a foundational structure for programmers to create web applications. Our primary goal is to enable you to work in a structured and rapid manner–without loss of flexibility.
Glad they meet their goals instead of being purely MVC. But hey Mike if that’s your goal, go for it. Nobody is stopping you.
Posted by David Zülke on 06.03.08 at 10:32 pm
Chris,
you cannot possibly be serious. The xmlrpc-test.php file makes a simple call to an API. To demonstrate it. It’s not an example of how to build an Agavi app, or how to use one. You’d use the API in another application. Building another full-blown application that makes a simple XMLRPC or SOAP call just to demo an example implementation of a web services API would be a bit over the top, don’t you think?
I find it really amusing that you have no better arguments than this one.
Especially since you were wrong about this, got corrected, but didn’t bother to remove the blatant lie above the code snippet that says “To make the sample application that comes with Agavi work, you have to build a file that looks like this”. I can understand that your entire posting becomes pointless if you had to properly admit that it’s all nonsense, but for god’s sake, show a little dignity and do it.
P.S: no worries about the Umlaut. I don’t like them either. The Germans transliterate them with an appended e, by the way (ä -> ae, ö -> oe, ü -> ue).
Posted by simoncpu on 06.03.08 at 10:32 pm
My MVC brings all the girls to the yard,
And they’re like
It’s better than yours,
Damn right it’s bigger than yours,
I can teach you,
But I have to charge
Posted by Baz L on 06.03.08 at 10:32 pm
I know I’m waaaaay out of my league here, so forgive my ignorant question, but: “Who cares?”
All this talk about setting a page title in the controller? Hmmph. Models and standards (MVC, eg) are always good, but there’s something to be said about bending over backwards to follow them.
Also, no matter how MVC a framework is, an amateur like myself will surely find a way disgustingly break all the MVC goodness there is.
To paraphrase a signature I’ve seen a lot: “Shut up and build it already”.
Posted by Chris Hartjes on 06.03.08 at 10:32 pm
@Herr Zülke (a little cut-and-paste did the trick, and having learned German for 7 years understand that doing a ‘ue’ instead of ‘ü’ just looks weird to me)
My argument is not about how silly that code example was (and it has been removed because it has nothing to do with the main thrust of the article), my argument was how silly it is to argue over which framework best implements MVC.
As for dignity, I never worry about that sort of stuff. Dignity is for stuck-up know-it-alls, and I am not stuck-up. A know-it-all, sure.
Posted by nate on 06.03.08 at 10:32 pm
Honestly Chris, speaking of dignity, I don’t even know why you’d dignify that guy’s snarling with a response. I mean, yeesh! He’s like… some kind of Agavi attack dog. Reminds me of a younger, dumber version of me. And that’s saying something.
Posted by Mariano Iglesias on 06.03.08 at 10:32 pm
@Mike Seth: I say this over and over again: WHO THE HECK are you to say what’s right or wrong about a particular way of implementing MVC? Do you think you are smarter? Think again, everytime some moron with too much time on their hand comes along pretending to be the most knowledgeable on earth, their comments do little to proove them right.
You should know by now that there’s no perfect way to do things, just ways that work better than others. And at the end of the day, if after all these years Agavi sounds more like an obscure candy bar brand than it is a PHP framework it is probably because it’s not helpful for a lot of PHP developers. Shape it as an “elite” framework, but the truth is all these rant come because you hate the fact that Agavi is not widely spread.
Finally, when someone comes along and tries to tell me how to do things, I say fuck them. What makes you think you know better than me?
Posted by Brandon O on 06.03.08 at 10:32 pm
It would be interesting to see how many of the people offended by Mike Seth’s comments are using CakePHP as their primary framework.
Posted by Chris Hartjes on 06.03.08 at 10:32 pm
@Brandon O
That’s an interesting question, but my objection to his comments wasn’t based on me using CakePHP. My objection is based on the fact that the vast majority of people who use frameworks with a less-than-perfect implementation of MVC don’t care that it’s not perfect.
Posted by Jean-Philippe Déry on 06.03.08 at 10:32 pm
Hi,
Now that I’ve followed this debate on different blogs, I thought I could give my 2 cents and hope we can all learn from what’s happening.
Let me first introduce myself. My name is Jean-Philippe Déry, I’m 24, from Canada and I’ve been a web developer since 2000. I’ve been using Mojavi and now, all my projects are made using Agavi. I’ve never regretted this choice.
Now on the topic. Mike, even if all the remarks he made seemed impolite or even rude, he raised an important issue. Saying that most frameworks are broken beyond repair is still exaggerated but from a MVC point of view, it’s true. We are all web developer right ? Experience should have taught one (of many) things that stays true with web development and it is his constant evolution. Things changes, and they changes fast. One day we use a database, the other day XML files and the next day web services. Since we can’t predict what’s the next thing to happen, it would be right to at least make some code that will evolve with the next big thing without rewriting the whole application over and over.
Using models properly, which encapsulate the data access layer, from what I’ve been taught, really help (thanks to Mike who spent the time to explain me how I can write better code). Does it means it will take more time to develop ? It may takes more time when you’re writing from scratch, but you won’t need to rewrite the whole thing when the next big thing will happen. This makes sense to me.
If any of this makes sense to you I suggest you ask the developer of your chosen framework to make it more MVC, not because Mike said so but because in the future you don’t want to rewrite applications when the new trend hits.
Thanks
Posted by Brandon O on 06.03.08 at 10:32 pm
@Chris Hartjes
I guess it all comes down to how much you care that a framework follows a MVC(which it claims to follow). Often times people don’t care because they don’t know they should. I am sure a huge percentage of the popular PHP frameworks users are thinking “Well these guys know what they are doing”, “It works better than my other code” and blindly follow whatever new changes end up in the repo.
The purpose of MVC is to encapsulate to separate. If you start to smudge the lines (mixing data with interface, etc…) you lose the advantages of MVC. So I think Mike is right screaming passionately to get peoples attention. Someone needs to.
Posted by Mike Gregoire on 06.03.08 at 10:32 pm
@simoncpu
LOL… most insightful comment of the post. Thanks.
Posted by Robin on 06.03.08 at 10:32 pm
Hear hear!
Nice argument, finally a true voice on the whole ‘you call that MVC? checkout MY framework… tháts MVC’-bullshit..
Good article..
Posted by Dave on 06.03.08 at 10:32 pm
I would think a developer would want to use a MVC framework that is strict instead of a loosely formatted one. Then if you ever have to work with a loosely formatted one it would be more of a breeze than the other way around, if you know what I mean.
Posted by Chris Hartjes on 06.03.08 at 10:32 pm
@Dave
Well, it has a lot to do with programming style as well. Some programmers have their favourite libraries for a lot of things, and loosely-formatted frameworks let you easily incorporate those.
Personally, I find that when I use Code Igniter vs. Cake, I get annoyed because I find myself writing code that already exists in Cake. I guess that’s the peril of trying to write Cake-style code in a non-Cake framework.
Posted by Chak on 06.03.08 at 10:32 pm
@Mariano Iglesias
So You are like that you said…
“Finally, when someone comes along and tries to tell me how to do things, I say fuck them. What makes you think you know better than me?”
… why the fuckers guys noobs of CakePHP try to do it over and over again, come on, a good PHP developer do not take care of that, it’s a matter when you’re getting a project in your own best way to do it…
You should use whatever you want
, a good developer do it…
So, please Mariano… So do fuck you