codeigniter and Elislabs

Quote:Creating a version of CodeIgniter which takes advantage of modern functionality would realistically involve a rewrite, turning CodeIgniter into “yet another framework”.

I wouldn't say a rewrite would make it into "yet another framework". Doing so implies that it's in the same league as some of these other half-baked, PHP frameworks that crop up every month. CI still is a stable, proven framework with a large user/install base after all. At some point every framework will need major overhauls to keep up with new developments in whatever language they are built on. Just have a look at what Django went through to support Python 3. You certainly wouldn't say Django is "yet another framework" after all it went through to support Python 3.

Just out of curiosity, which "other" frameworks do you consider "half-baked"?

I'd like to chime in and say, I agree with Alucamet. The OSL license is the main reason why I'm never going to start a CI3.X based project, and that's a shame. Shame on you, Ellislab! If Ellislab would just change the license to MIT or BSD, anybody who is interested in moving forward with CI could do so in a manner that is unrestricted. They're going to "give it away", right? Then just do it! I do agree that only one person should be using the name "CodeIgniter", but that should be the only restriction. Personally, I could care less about the name.

[quote author="Phil Sturgeon" date="1385251079"]The API is the issue.

Creating a version of CodeIgniter which takes advantage of modern functionality would realistically involve a rewrite, turning CodeIgniter into "yet another framework".

Kohana was an attempt to rewrite CodeIgniter for 5.2.

FuelPHP was an attempt to rewrite CodeIgniter for 5.3.

Laravel was an attempt to rewrite CodeIgniter and FuelPHP for 5.3 and Composer, leveraging popular standards.

CodeIgniter is still exactly what it was before Kohana, FuelPHP or Laravel happened.

Make your own decisions, but you can't have progress without change, and the change has already happened elsewhere.[/quote]

I think you give Fuel and CodeIgniter too much credit for being responsible for Laravel, and if you were going for a rewrite of CodeIgniter when you created Fuel, I'd say you sort of missed the mark on that one. And yes I did get my feet wet with Fuel.

I used Kohana before I moved to CodeIgniter, and made that move because Kohana seemed slow, and CodeIgniter was easier to use. Plus there's the fact that at the time the Kohana user community seemed like a bunch of snobs that just wanted you to browse through the code instead of having proper documentation.

I did a little playing around with Laravel 3, but Laravel 4 seems like it is more influenced by Symfony than anything else.

The CodeIgniter code base has huge potential if Ellislab would just do as Alucemet suggests. As it stands the OSL license is just too restrictive. Can you name an "open source" PHP framework that has a more restrictive license?

[quote author="WanWizard" date="1385494698"]Just out of curiosity, which "other" frameworks do you consider "half-baked"?[/quote]

I'm not getting into any kind of framework flame war. My point is that saying that an overhaul to CI would create yet another framework and it shouldn't be done is a bad argument. Every framework, in any language will hit this plateau at some point and require large amounts of refactoring. CI is a reliable framework with a solid track record and substantial user base. This is not something that the bulk of PHP frameworks out there can claim (as much as they really would like to). Providing CI gets out of this limbo state its in right now, there is a tremendous amount of value in overhauling it while maintaining existing branches.


I honestly don't see why CI *needs* to be re-written. Does CI not have it's place amongst the plethora of frameworks available? For simple apps/sites do you really need the new features in 5.3+? Why is it unacceptable for CI to position itself as a simple solution?

You may not agree with me, but personally I'm not a fan of what I see as PHP attempting to emulate JavaScript. In 5.3+ they added:

1. Namespaces, traits, upload progress, all good things.
2. Callbacks, closures, why? So developers who don't understand scoping can leak memory?

Why can't we compile PHP yet? Wouldn't that be a greater performance boost then attempting to build asynchronous methods around a language that by design has always been synchronous?

This is just my opinion but I always hoped PHP would transition itself to be more like a compiled language then an interpreted one. JS is taking web development by storm and PHP should focus on what it's good at instead of trying to be something it's not and will never be suited for.

JS frameworks like will redefine what we call web applications today. PHP should focus on it's strengths if it wants to stay relevant.



The right direction of moving is Forward and PHP as language is doing exactly what it has to..
Namespaces, Callbacks, traits and all new features are REQUIRED to keep PHP evolving else it will become something as Perl.. old...

Codeigniter must follow right directions .. Currently I am watching the development of few PHP frameworks.
And already some of other frameworks started to require PHP 5.4 for minimum (for example Yii 2).

With all new features you can work a lot faster and easier!
+ A lot of PHP libraries already are working with Namespaces based on PSR-0 usually, and its problematic when you have to use them in CI


My point, and please excuse my inane rant, was that I don't believe every framework has to be 'fully modern' to be useful. In my career I've only run into one situation where I needed namespacing. The company I was employed for at the time developed it's own framework from scratch. It was similar to expression engine, where it would power content driven sites with varying functionality (modules). As time went on we built our own namespacing system, using PHP 5.2, because our host did not support newer versions of PHP. We wanted modules (plugins) we could attach to a base CMS, and price the product based on the plugins it needed.

The agency built >$100,000 websites this way and it worked fine.

Of course that would have been easier with namespacing, but we did it without it. Other then a building a commercial CMS like that, I don't see the need/point of adding name spaces just for the sake of using them. The product I'm building right now does not use name spaces, I do not need them and do not wish to add an extra layer of complexity that's completely unnecessary.

So that's really my point. A lot of people saying PHP <5.3 is useless are just plain wrong. For 90% of the work I've done over the last 15 years I wouldn't have needed the bells and whistles in the new versions. I'm more concerned about execution speed and the ability to mold a framework into what I want it to be. For me, CI fits the bill perfectly. It doesn't impose design patterns that someone else deemed 'better in every case possible'.

So am I stagnating as a developer? Maybe with PHP, but in my opinion front end development is more important then server side code. JS/CSS3 are far more important skills to learn then namespaces or callbacks in PHP. To be frank, if I could get away with using Express.js without having to use a separate webserver to power API integrations that are only available in PHP I would drop PHP all together. But I can't, so I like CI's model and since the majority of my apps are client side JS the features it has currently are enough for me.

Look at Lasso, it's a bit obscure but the new owners did exactly what I hoped PHP would do- converted it from a interpreted language into a compiled one. They've gained a lot of C like functionality in the process, as well as a major speed increase, and I hoped PHP would follow suit.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.