CodeIgniter is a PHP full-stack web framework that is light, fast, flexible and secure. More information can be found at the official site.
This repository holds the distributable version of the framework. It has been built from the development repository.
More information about the plans for version 4 can be found in CodeIgniter 4 on the forums.
The user guide corresponding to the latest version of the framework can be found here.
index.php is no longer in the root of the project! It has been moved inside the public folder,
for better security and separation of components.
This means that you should configure your web server to "point" to your project's public folder, and not to the project root. A better practice would be to configure a virtual host to point there. A poor practice would be to point your web server to the project root and expect to enter public/..., as the rest of your logic and the framework are exposed.
Please read the user guide for a better explanation of how CI4 works!
We use GitHub issues, in our main repository, to track BUGS and to track approved DEVELOPMENT work packages. We use our forum to provide SUPPORT and to discuss FEATURE REQUESTS.
This repository is a "distribution" one, built by our release preparation script. Problems with it can be raised on our forum, or as issues in the main repository.
We welcome contributions from the community.
Please read the Contributing to CodeIgniter section in the development repository.
PHP version 7.4 or higher is required, with the following extensions installed:
Additionally, make sure that the following extensions are enabled in your PHP:
- json (enabled by default - don't turn it off)
- mysqlnd if you plan to use MySQL
- libcurl if you plan to use the HTTP\CURLRequest library
Installing the app
All commands should be executed in the root folder
With PHP ^7.3 in PATH and composer installed
run composer install
With node ^14.* and npm installed
run npm install
run npm run build
Make sure you have database setup as it is in the .env file.
The defaults are
database.default.hostname = host
database.default.database = database
database.default.username = user
database.default.password = password
You can run all migrations with
php spark migrate
Starting the app
Optionally modify base URL
optional Open Config/App.php and edit variable
Build frontend application
run npm run build
Start PHP server
run php spark serve --port 8080
Testing GraphQL queries/mutations
Build frontend application for GraphiQL interface
run npm run build:graphiql
Start the PHP server
run php spark serve --port 8080
Open application
Access the BASE_URL/graphiql page