CodeIgniter4 announces development roadmap

Source: Internet
Author: User
CodeIgniter4 announced the development roadmap. after considering the wishes and opinions of the community, we also thought about the future of CI. then, the CI Council made some decisions on the future of the framework. We will forecast significant changes in the future, but we believe they will not only prepare for our future, but also maintain CodeIgniter's consistent features-concise, fast, and flexible.

This article is a brief overview of the future. Remember, this is just the initial plan. Any information may change with the development.

Core changes

Since the first release of CodeIgniter, the PHP community has undergone great changes. Many of the core elements of CodeIgniter were necessary at the time, but after the release of PHP5, the core of CodeIgniter was almost unchanged. If CodeIgniter wants to maintain a high level and consolidate its position in the PHP framework in the future, it must make a big change.

This means that the system must all be overwritten. The new CI will be developed in an independent code library to keep the code clear. We plan to reuse some previous code, but the focus isModernClear code.

SincePHP 7Since the goal, PHP 5.6 has entered the security maintenance mode and will be completely suspended in a few months. Currently, CI will not release a new version for a PHP version that is about to be discontinued. We know that the host environment is very different, so some programs may not fully support PHP 7, so the 3.x branch will continue to be maintained for a period of time-it will be much longer than the EOL time limit of the 2.x branch after 3.x release.

The application and system directories both support automatic PSR-4 loading. CodeIgniter will use its own automatic loader and will integrate the Composer.

We will encapsulate some components so that they can be used in projects other than CodeIgniter in most cases.

Package/module

We will discard the concept of application packages and modules. Don't panic! Because you can use namespaces to handle most cases-at least the controller and model are like this. We believe that namespace can be supported for other projects, such as views, configuration files, and Helper. You can also put all the functions of the package and the routing capabilities of the module in any Directory, just tell the auto-loader how to find them.

Routing

The routing function will be updated. The "magic routing" function maps URIs directly to controllers/methods, so that you can choose your preferred routing method. In the routing configuration file, you can select "magic routing" or specify each route separately.

Improved log system

The log system will be improved, but the details are not yet determined.

Test

We will continue to use PHPUnit for testing. This also means you need to test the application by yourself, but we will prepare the required tools for you.

Backward compatibility

As mentioned above, this must be an incompatible version with the old version. We think this should be the best future of the framework. We have done a lot of basic work for this major change, and we will try our best to make the transition smoother, however, we still need to observe what kind of modern basic code we can provide.

We will do our best to keep CodeIgniter fast, concise, and elegant 』.

Development schedule

The entire development process is divided into three stages.

The following class libraries will be removed from the kernel and downloaded as needed: typographical, FTP, ZIP, and XML-RPC classes.

The shopping cart, Javascript, unit test, and Trackback classes will be deleted.

We hope to complete an Alpha version of the basic kernel build within one year. Later, we will focus on improving the kernel and developing the remaining software packages. The exact schedule may vary because, like most open-source projects, it depends on the number and quality of contributions contributed by the community, as well as the time and effort of core developers.

Stage 1

The first phase will focus on the most important part of the framework. This will be the basis of other parts of the framework. They include:

  • Automatic loader

  • Dependency Injection

  • Logs

  • Exception handling

  • HTTP request/response layer (or input/output)

  • Routing

  • Controller

  • Model

  • Database layer

  • Configuration

  • Security

Stage 2

The focus of the second stage is to improve some of the favorite classes and features of CodeIgniter users. They include:

  • Helper

  • Language/International features

  • Cache

  • Email

  • Encryption

  • Form verification

  • Image processing class library

  • Paging

  • Upload class

  • Session

  • View

  • Debugging and analysis tools

Stage 3-optional class libraries

The third stage is mainly used to expand optional software packages. At this point in time, the framework should be ready for release, and you do not need to wait until all the class libraries are ready.

  • FTP

  • XML-RPC

  • Zip

  • Typographical

  • Template Parser

We are excited that the framework has ushered in a new opportunity and can't wait for the framework to take the first step for the new version. Don't look around. come and build the future of the framework.

Author: Lonnie Ezell (member of the CodeIgniter Council)

Translation: Hex

Original article published onAugust 5, 2015, Up to now, CI 4 is under development and has not yet been released

CodeIgniter 4 Proposed Roadmap

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.