http://www.sitepoint.com/blogs/2008/08/29/rasmus-lerdorf-php-frameworks-think-again/
So, are there any frameworks that don’t suck? Rasmus did mention that he liked CodeIgniter because it is faster, lighter and the least like a framework.
This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.
The active forums are here.
August 30, 2008 12:33am
Subscribe [7]#1 / Aug 30, 2008 12:33am
http://www.sitepoint.com/blogs/2008/08/29/rasmus-lerdorf-php-frameworks-think-again/
So, are there any frameworks that don’t suck? Rasmus did mention that he liked CodeIgniter because it is faster, lighter and the least like a framework.
#2 / Aug 30, 2008 10:59pm
Great to see a mention from someone like Rasmus… One comment really annoyed me though:
CI is fast. Yes. But I don’t like CodeIgniter because its architecture is so simple and immature that I think it is written by developers who are new to OOP and design patterns. Besides, I found that CodeIgniter coding convention is not compliant with PHP Coding Standard. However, PHP community in general is not good at OOP so CI is good enough.
#3 / Aug 31, 2008 7:06am
Great to see a mention from someone like Rasmus… One comment really annoyed me though:
CI is fast. Yes. But I don’t like CodeIgniter because its architecture is so simple and immature that I think it is written by developers who are new to OOP and design patterns. Besides, I found that CodeIgniter coding convention is not compliant with PHP Coding Standard. However, PHP community in general is not good at OOP so CI is good enough.
Probably somebody who’s arrogant enough to think that their way of coding is the best and only way…
Also, I think it’s quite possible he’s basing his comments off the fact that CI also supports PHP4, which has only limited OOP support… About the PHP coding standard, what’s the big deal? It’s just another way of writing smth… It’s not like it’s affecting performance or anything.
#4 / Aug 31, 2008 8:12am
Lol at the “You make 7 classes…” comment. Made me chuckle :D
#5 / Sep 01, 2008 4:17am
Rasmus comment states CI is least like a framework so the commenter didn’t read Rasmus comment correctly. The simplicity is what Rasmus liked about CI, and many of the CI users.
I have to agree there are things that can be improved. This weekend i checked the kohana documentation and i saw they didn’t bind the super object to the models anymore.
// CI
$this->uri->uri_string();
// Kohana
Kohana::instance()->uri->uri_string();This saves memory.
Also the helper functions are put in a class which makes it harder to create bugs by defining a function name multiple times. The latter can be done in CI too but then you loose the extending of helpers because the extended file is loaded first which gives an error if you do this with a class.
#6 / Sep 01, 2008 12:59pm
@xwero:
Why not just reverse the loading order of the helpers?
And to this with models, just ignore extending the Model class, and add this to your model:
function __construct(){
$CI =& get_instance();
$this->db =& $CI->db;
}
function _assign_libraries(){}#7 / Sep 01, 2008 1:25pm
I just gave some examples where CI could use improvement to make it even better.
I know you can alter code but the model example is an improvement for everyone i think.
I was touching the helpers because of the fact that you could do Url::get(1) and Array::get(1) making it possible to cut down on the function names. It’s a petveve of mine for a long time.
Where it comes down to is to keep your eyes open for improvement when reading a comment instead of disregarding it entirely. Even if most of the comment puts the software you work with every day in a bad light.
#8 / Sep 06, 2008 9:30am
A great way to speed up your CI code is not to use ActiveRecord. 😊
It is awesome to see Rasmus mention CI
#9 / Sep 06, 2008 9:36am
To get the speed that is necessary for truly massive web systems you have to use compiled C++ extensions to get true, scaleable architecture. That is what Yahoo does and so do many other PHP heavyweights.
What do you think he means? A PHP Accelerator?
http://en.wikipedia.org/wiki/PHP_accelerator
#10 / Sep 06, 2008 10:37am
According to my performance tests, AR have bad performance, my IgnitedQuery is slightly better, but nothing beats premade queries 😛
(but then you’ll have to escape everything accordingly).
If anyone would like to help me improve the performance of IgnitedRecord or IgnitedQuery, I’m all ears
#11 / Sep 06, 2008 1:13pm
Lol at the “You make 7 classes…” comment. Made me chuckle :D
[quote author=“Mark”]1. It all starts with “I don’t need a framework.”
2. Then you create 7 classes.
3. Now you have a small library of classes.
4. Then you create an application that uses your library.
5. It works and it’s fast, hurray!
6. Then someone asks you to extend the functionality of your application.
7. And they keep asking for more, and more, and more and more…
8. Now you have 43 classes.
9. You’ve learn so much in the last 2 years. Design patterns, security, performance, testing…
10. What once was a small library is now a big, ugly, un-tested, un-documented, scary framework.
11. Then you change jobs.
12. And you create another 7 classes…
This has been happening for the last 30 years.
Haha you’re right 😊
#12 / Sep 06, 2008 2:33pm
active record is partly why ruby is so bad
#13 / Sep 06, 2008 2:55pm
According to my benchmarks, ActiveRecord in CI (I mean the AR implementation of CI) is about twice as slow as normal queries (but that depends on what type of queries).
Ruby’s AR says that it’s about half the speed of premade queries (but then the queries of Ruby’s AR ain’t so advanced as the test I made).
#14 / Sep 09, 2008 11:23am
Here’s the video recording of Rasmus talk, Simple is Hard [CodeIgniter mentioned @ 47:51]
Check the slides to follow the presentation.
#15 / Sep 09, 2008 11:39am
Nettuts quoted Rasmus from that video. They also mentioned CodeIgniter ^^
What I find odd though is that they spelled CodeIgniter twice as Code Ignitor… What’s up with that? Or am I too new to CI to know this was the old spelling or smth like that?