How do we get Codeigniter to being the best PHP framework available? What must we do I would like to hear your opinions or any ellislab developers?
This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.
The active forums are here.
June 26, 2014 4:45pm
Subscribe [14]#1 / Jun 26, 2014 4:45pm
How do we get Codeigniter to being the best PHP framework available? What must we do I would like to hear your opinions or any ellislab developers?
#2 / Jun 26, 2014 6:21pm
Wont happen, Like come on it’s been over a year and they still have not found a new owner.
#3 / Jun 26, 2014 6:40pm
@treenef
In your personal opinion which one is the best now?
#4 / Jun 26, 2014 6:53pm
@treenef
In your personal opinion which one is the best now?
Probably laravel if I was totally honest but that’s only because everyone jumps on the bandwagon. However, I think if codeigniter retained development, definitely codeigniter. I fully understand Ellislab pursuing a commercialised product like expression engine.
At the moment I see only narf as the making core updates.I would love to bring it back to the top where is deserves to be.
What are your thoughts?
#5 / Jun 26, 2014 7:22pm
I have been switching over to FuelPHP that’s were all the old time CI developers went and created it.
But it is up to you to pick your own framework.
I wont leave CI because I still have to support it.
#6 / Jun 26, 2014 8:10pm
@treenef
Technically CodeIgniter could be improved a lot, and its set of features could be increased. At its stage of development It has the privileged position to learn from the mistakes of other projects.
What could be done?
1. License - MIT.
2. CodeIgniter 3 - released.
3. Open feature planning - I don’t mean “design by committee” (wrong way), I mean predictability, transparency.
4. Predictable release dates.
IMO this is the minimum to be done if CodeIgniter wants just to be alive.
How it could become the best? - Set the minimum system requirement to PHP 5.6 and work hard for two years. 😊
#7 / Jun 27, 2014 12:02am
The real appeal to CI has always been the ease of use. Beginner or intermediate level PHP developers can benefit from “shortcuts” and functionality that handles day to day tasks, eliminating the need to re-invent the wheel. That’s about where the benefits of using CI stop.
An MIT license was mentioned above, and that would be a good start. We’ve debated the license over and over, but for my needs and the needs of my customers, I had to switch to another framework. I shouldn’t need a lawyer to advise me on the technicalities of a software license, and I’m not going to explain and work with the CI 3.x license.
CI has long protected its users by offering dependable backwards compatibility. When big changes were needed, detailed instructions made updating fairly painless. That’s great, but if you look at other frameworks, and you look at PHP itself, CI just hasn’t kept up with the times. In order to attract mainstream developers, CI would need a complete rewrite.
A complete rewrite is not actually as bad as it seems. I started doing this for myself, and developed a proprietary framework that in many ways feels like CI. This is the framework I use now. The thing is, as I worked on the framework, I realized how little CI code I really needed, which is not much. Using Composer, packages from packagist.org, and a DI container that extends Sensiolabs Pimple, I’ve got a beautiful foundation for any project, AND it’s just how I want it.
I imagine if CI created a new framework that was modern and cool, it would be kind of like mine. I come back here occasionally to see what’s new, wondering about a new owner. If a new owner is coming soon, they’d surely want to implement big changes, else the framework will need a second funeral.
#8 / Jun 27, 2014 4:39am
Can you further explain what beautiful foundation you have. What features have you created ?
#9 / Jun 27, 2014 11:14am
Can you further explain what beautiful foundation you have. What features have you created ?
My framework is built off of Pimple. Dependency injection is used in all classes, however, most classes also have a static class counterpart that allows classes to be used through calls to static methods. Auth is included. A password generator class is included. An XML class is included. Since I am the only one using the framework, I can also package in all of my proprietary js, scss, and grunt files. All of this is in a private Git repo, and when I want to start a project, I simply run Composer on a custom composer.json file, and the whole project foundation is setup.
My upload class does more than just upload to a filesystem. It can send files that were uploaded to another server via SFTP. It can also store the files in the database.
I use Swiftmailer for email. DOMPDF is used for PDF generation. phpseclib is used for SFTP. Stripe PHP is pulled in for credit card processing. And a major break-away from CI is that I use Doctrine DBAL for database abstraction. I never liked ORM, so I don’t pull in the whole Doctrine code, but users of ORM would be able to pull it in, and nothing would break because DBAL is part of ORM.
This framework is tailored to my coding preferences, and is for me. There’s the beauty. Compared to Symfony, Laravel, Fuel, Kohana, or any other framework I’ve tried, my framework still has a very CI feel to it. I built it that way because CI is easy to use. I don’t need a framework that is complicated.
At this point, only 6 classes are derived from CI. Most others, like the Session class, were completely rewritten, only preserving the names of methods and the way the methods are used. Ripping apart each class and rewriting it, or improving it, or dropping features that I didn’t like or need was a huge learning experience. The benefit is that if something is going wrong, or buggy, I know exactly what is going on. I recommend that everyone with good PHP skills attempt to write their own framework, because it becomes exactly what you want it to be.
#10 / Jun 27, 2014 2:29pm
Thank you for the in depth reply, do you have any CMS, if so is it possible to see some screenshots?
#11 / Jun 27, 2014 7:26pm
Thank you for the in depth reply, do you have any CMS, if so is it possible to see some screenshots?
No CMS. If I’m going to need a CMS for a project, I install my framework side-by-side with WordPress and use mod_rewrite to pre-route requests. This has proved to work really great for me and my clients, because they can have their WordPress, but can also have the power of a normal PHP framework.
#12 / Jun 28, 2014 8:33pm
How do we get Codeigniter to being the best PHP framework available?
That’s a bit of a loaded question. There is no such thing as the “best” framework, only the most suited for a specific task. CI is great for certain tasks, Laravel is better for others, and a new framework will come out tomorrow that’s better at something else.
1. License - MIT.
MIT would be nice, but it’s not necessary. It’s very easy to overload the core in 3. If you are directly editing core files you should be sharing your changes with the community. Open Source only works when both sides are willing to help each other. That’s not directed at you ivantcholakov I know you’ve sent PR’s, just my opinion on the license.
The real appeal to CI has always been the ease of use. Beginner or intermediate level PHP developers can benefit from “shortcuts” and functionality that handles day to day tasks, eliminating the need to re-invent the wheel. That’s about where the benefits of using CI stop.
I disagree, it depends on your project’s needs.
If you are an agency or self employed CI may not be the best framework going forward. When your job is to whip out sites you want namespaces and dependency management to reduce your workload. If you work for a product company it’s a very different story. Here you’re writing all the business logic yourself and probably don’t need namespaces.
For me CI is a rest server, it’s minimalistic design and execution speed are two important factors on why I use it. In my case there is nothing Laravel or any other PHP framework offer that would improve our app. Why rewrite just because? If I was going to do that I’d use Node, not another PHP framework.
Every developer should make an informed decision based on their needs and not worry about what others are doing. CI is still a great framework and 3 is a great update.
#13 / Jun 28, 2014 9:02pm
@jones
Actually, the minimalistic design is the weakest point of CodeIgniter. If you want to start a new real-world application, you need to search for, and to choose third-party libraries for trivial features. Moths ago you presented your CI3 based starter, I have my own too, but this causes fragmentation of efforts. Many people do same features over and over again in incompatible ways.
Edit: By the way, Laravel has the same weakness - it is too minimalistic. I would not have benefit to switch there.
I think, the term “minimalistic” should be reconsidered, redefined. For example, in 2006 MVC was enough as an invention, today HMVC is mandatory, but CodeIgniter does not provide it.
About the license: skunkbad does not like the current license. Then he makes his own solution, and he came to the idea “make your own framework”. This means even worse fragmentation of efforts. I think, the CI license should be the most liberal one, so anybody with capabilities to be motivated to contribute.
#14 / Jun 28, 2014 9:44pm
Actually, the minimalistic design is the weakest point of CodeIgniter. If you want to start a new real-world application, you need to search for, and to choose third-party libraries for trivial features. Moths ago you presented your CI3 based starter, I have my own too, but this causes fragmentation of efforts. Many people do same features over and over again in incompatible ways.
I think it depends on what you need from your framework. In web applications your client is just or even bigger than your server. Here’s our app breakdown:
PHP 19,503 lines
JavaScript 12,117 lines
CSS 6,396 lines
Excluding HTML it’s almost 50/50 and in another month it will be 65/35 client/server. Other than 3rd party API’s the only server side dependency I could have used was authentication and I wrote one in a few hours. We would never use it if it was available.
I agree that we have a lot of talented dev’s in the CI community and it’s a shame we can’t better coordinate our efforts. My modifications would never (and probably shouldn’t be) accepted into the framework as they are for a specific use case.
#15 / Jul 02, 2014 6:26pm
Why I use Codeigniter:
Because it has small footprint, Good on shared hosting, It is not bloated like others.
1) Love the fact it is basic/small to get us started.. (Sometime we may need extra - Remember not always {in that case we will work around to get the addon} - its gives me goodnight sleep knowing, I do not have what I do not need)
2) Features: I understand i will get alot comments on this:
Why do i need latest features - while i have a working framework/site (I am happy as long as its keep working)
We need to understand: latest features and bleeding edges are not always great (old is Gold)
Finally, What i wish EllisLab need/could do for us:
1) keep CI as is(small, lightweight) But keep a constant update/fix
2) No need for updating php version (5.2 default), But make-sure its keep on working on future php updates (shared hosting updates their php versions - makesure Ci keeps on working)
3) Give us an release date for CI 3.0 (and release it asap - keep rolling updates)
Above all - Keep CI alive…. Thank you Nerf for your hard work!
———EllisLab <—- thank you for not showing you care about people who love this
—————Those who are developer/self looking for bleeding edges or latest php version.. move on to other or roll your own (dont make/post comments - Respect other who trying to keep this going (why don’t you help CI to move further… help develop?) WordPress still uses php 5.2.
———————-Sorry, if i pushed anyone button——————-