Welcome Guest, Not a member yet? Register   Sign In
Codeigniter's disadvantages
#1

[eluser]Sbioko[/eluser]
Hello! We often hear, that CI is very good, fast, secure and lightweight. But, are there any things which you don't like? Just want to hear your opinion? Or you think that CI is perfect? :-)
#2

[eluser]heavenquake[/eluser]
CodeIgniter's perhaps greatest flaw is also one of it's core features: PHP4 compatibility.

The fact that CI maintains complete PHP4 compatibility is great, because it allows for simple syntax and high portability. But it also somewhat impedes what you can do with it (that is, if you choose to write your code so that it's compatible and consistent with the rest of CI. I tend to do this with my generic libraries, while using PHP5 in my controllers and models, which aren't supposed to be ported anyway).

That said, there is nothing you actually can't do with CI. There are things that are more complicated than others, but almost everything can be made to work with a hook or an extended core library. I have implemented PHP magic autoload using a pre_system hook that allows for multiple levels of controller-logic (Page extends Blog_controller extends Template_controller extends Controller, (distributed over multiple files of course) for example) so it's not really that much of a problem. But it can be an annoyance for newcomers.
#3

[eluser]Sbioko[/eluser]
Absolutely agree with you. I think php 4 is the past. Framework should be PHP5. I'm thinking about switching to kohana. But 2.x branch not recommended and it's slow and in 3.0 I don't like it's architecture. So, my Framework will be soon. All is almost ready, excluding correct htaccess. I have some problems with it:-) but this is offtopic thoughts.
#4

[eluser]helmutbjorg[/eluser]
Poor 404 error handling. It is tricky (and I haven't found a good clean way) to include codeigniter routines like database and session on the 404 page.
#5

[eluser]heavenquake[/eluser]
I think you misunderstand me. PHP4-support is still very much relevant, we need frameworks that are backwardscompatible. I'm merely stating that the greatest problem of CI is that it could be much more powerful if it used PHP5 - but this is an "annoyance" developers both can and should live with, because PHP4 support still is important.

Personally I like the architecture in Kohana 3, and I mod my applications to mimick it somewhat (without making any changes to the base CI system of course. I don't want upgrade headaches), but there really isn't anything in CI that any framework does significantly faster or better, as I see it. Some frameworks might have a better This or That lib, but if you need the most powerful of both This and That lib, CI usually has the best balanced implementation, or the tools you need to modify them to your needs.
#6

[eluser]heavenquake[/eluser]
[quote author="helmutbjorg" date="1266805278"]Poor 404 error handling. It is tricky (and I haven't found a good clean way) to include codeigniter routines like database and session on the 404 page.[/quote]
One way to do it would be to mod_rewrite and CI route anything that would give a 404 error to a errors/404 controller method. But the times I've tried it's been a bit complicated, so I agree: CI ought to have a more transparent way of dealing with 404 errors.
#7

[eluser]Sbioko[/eluser]
I still don't understand about importance of PHP4. Today, every hosting-provider has PHP5 installed on their server. So, what I win if my application support PHP4?
#8

[eluser]jayrulez[/eluser]
The choice of built-in libraries. There is a smiley helper (wth?) but not something as fundamental as an authorization/authentication library. Also the tightly coupled architecture. To get things the way you want most of the time, you end up modifying the core which should not be the case in my opinion.
#9

[eluser]Sbioko[/eluser]
I like CI's architecture. I don't scary about diving into the core code :-) What additional libraries or helpers you want too see?
#10

[eluser]heavenquake[/eluser]
[quote author="jayrulez" date="1266809522"]The choice of built-in libraries. There is a smiley helper (wth?) but not something as fundamental as an authorization/authentication library. Also the tightly coupled architecture. To get things the way you want most of the time, you end up modifying the core which should not be the case in my opinion.[/quote]
No, you never end up modifying the core. If anything, you end up _extending_ the core, using MY_Foo libraries - which is completely acceptable coding style. Extending the core libraries and making hooks are intended ways of making your application work the way you want it.

The reason there is no auth module is probably because authentification is very different between applications - I have yet to see an auth library that does not make assumptions as to your database scheme or your interface style. Even so, I agree that the smiley helper is a bit.. useless.




Theme © iAndrew 2016 - Forum software by © MyBB