CodeIgniter4

Welcome to CodeIgniter4

CodeIgniter is an Application Development Framework - a toolkit - for people who build web sites using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.

Where possible, CodeIgniter has been kept as flexible as possible, allowing you to work in the way you want, not being forced into working any certain way. The framework can have core parts easily extended or completely replaced to make the system work the way you need it to. In short, CodeIgniter is the malleable framework that tries to provide the tools you need while staying out of the way.

Who is CodeIgniter For?

CodeIgniter is right for you if:

  • You want a framework with a small footprint.
  • You need exceptional performance.
  • You want a framework that requires nearly zero configuration.
  • You want a framework that does not require you to use the command line.
  • You want a framework that does not require you to adhere to restrictive coding rules.
  • You are not interested in large-scale monolithic libraries like PEAR.
  • You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
  • You eschew complexity, favoring simple solutions.
  • You need clear, thorough documentation.

Server Requirements

PHP version 7.2 or newer is required, with the *intl* extension and *mbstring* extension installed.

The following PHP extensions should be enabled on your server: php-jsonphp-mysqlndphp-xml

In order to use the CURLRequest, you will need libcurl installed.

A database is required for most web application programming. Currently supported databases are:

  • MySQL (5.1+) via the MySQLi driver
  • PostgreSQL via the Postgre driver
  • SQLite3 via the SQLite3 driver

Not all of the drivers have been converted/rewritten for CodeIgniter4. The list below shows the outstanding ones.

  • MySQL (5.1+) via the pdo driver
  • Oracle via the oci8 and pdo drivers
  • PostgreSQL via the pdo driver
  • MS SQL via the mssqlsqlsrv (version 2005 and above only) and pdo drivers
  • SQLite via the sqlite (version 2) and pdo drivers
  • CUBRID via the cubrid and pdo drivers
  • Interbase/Firebird via the ibase and pdo drivers
  • ODBC via the odbc and pdo drivers (you should know that ODBC is actually an abstraction layer)

 

Credits

CodeIgniter was originally developed by EllisLab. The framework was written for performance in the real world, with many of the original class libraries, helpers, and sub-systems borrowed from the code-base of ExpressionEngine. It was, for years, developed and maintained by EllisLab, the ExpressionEngine Development Team and a group of community members called the Reactor Team.

In 2014, CodeIgniter was acquired by the British Columbia Institute of Technology and was then officially announced as a community-maintained project.

In 2019, the CodeIgniter Foundation was formed to provide a perpetual managing group separate from any other entity to help ensure the framework’s future.

PSR Compliance

The PHP-FIG was created in 2009 to help make code more interoperable between frameworks by ratifying Interfaces, style guides, and more that members were free to implement or not. While CodeIgniter is not a member of the FIG, we are compatible with a number of their proposals. This guide is meant to list the status of our compliance with the various accepted, and some draft, proposals.

PSR-1: Basic Coding Standard

This recommendation covers basic class, method, and file-naming standards. Our style guide meets PSR-1 and adds its own requirements on top of it.

PSR-2: Coding Style Guide

This PSR was fairly controversial when it first came out. CodeIgniter meets many of the recommendations within, but does not, and will not, meet all of them.

PSR-3: Logger Interface

CodeIgniter’s Logger implements all of the interfaces provided by this PSR.

PSR-4: Autoloading Standard

This PSR provides a method for organizing file and namespaces to allow for a standard method of autoloading classes. Our Autoloader meets the PSR-4 recommendations.

PSR-6: Caching Interface

CodeIgniter will not be trying to meet this PSR, as we believe it oversteps its needs. The newly proposed SimpleCache Interfaces do look like something we would consider.

PSR-7: HTTP Message Interface

This PSR standardizes a way of representing the HTTP interactions. While many of the concepts became part of our HTTP layer, CodeIgniter does not strive for compatibility with this recommendation.

If you find any places that we claim to meet a PSR but have failed to execute it correctly, please let us know and we will get it fixed, or submit a pull request with the required changes.

Source:-CodeIgniter.com official site

Post a Comment

Previous Post Next Post