PHPackages                             georgechitechi/upgrader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. georgechitechi/upgrader

ActiveLibrary

georgechitechi/upgrader
=======================

A tool to upgrade CodeIgniter 3 projects to CodeIgniter 4

018PHP

Since Mar 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/georgechitechi/app)[ Packagist](https://packagist.org/packages/georgechitechi/upgrader)[ RSS](/packages/georgechitechi-upgrader/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

CodeIgniter 3 to 4 Upgrader
===========================

[](#codeigniter-3-to-4-upgrader)

This package helps you upgrade your CodeIgniter 3 projects to CodeIgniter 4. It handles the migration of your project structure, namespaces, and various CodeIgniter-specific components.

Installation
------------

[](#installation)

Install the package in your CodeIgniter 3 project:

```
composer require georgechitechi/upgrader
```

Usage
-----

[](#usage)

Simply run the upgrade command from your CI3 project directory:

```
vendor/bin/ci-upgrade
```

The upgrader will:

1. Use your current directory as the source
2. Create a backup of your entire project
3. Download the latest CI4 and set it up
4. Migrate all your code to CI4 format
5. Place the upgraded project in a new directory

```
vendor/bin/ci-upgrade upgrade
```

If you want to upgrade a different CI3 project, you can specify the path:

```
vendor/bin/ci-upgrade upgrade --path=/path/to/other/ci3/project
```

What Gets Upgraded
------------------

[](#what-gets-upgraded)

The upgrader handles the following aspects of the migration:

1. Project Structure

    - Downloads latest CI4 installation
    - Creates proper directory structure
    - Creates a backup of your original project
2. Controllers

    - Adds namespaces
    - Updates class extensions
    - Updates method visibility
    - Converts CI3 syntax to CI4
3. Models

    - Adds namespaces
    - Updates class extensions
    - Updates method visibility
    - Adds CI4 model properties
4. Views

    - Migrates to the new location
    - Updates echo syntax
    - Updates form helper syntax
    - Updates URL helper syntax
5. Configuration

    - Converts config arrays to classes
    - Updates config file structure
    - Migrates database configuration
    - Sets up environment file
6. Routes

    - Updates routing syntax
    - Migrates to the new routing system
7. Helpers and Libraries

    - Adds namespaces
    - Updates file locations
    - Updates syntax to CI4 standards
8. Composer Configuration

    - Creates/updates composer.json
    - Sets up autoloading
    - Preserves existing dependencies

After Upgrade
-------------

[](#after-upgrade)

Your upgraded project will be in a new directory next to your current project. The original project will remain untouched, and a backup will be created with the suffix `_backup_YYYY-MM-DD_HH-ii-ss`.

Important Notes
---------------

[](#important-notes)

1. Always commit your changes before running the upgrader
2. Review the upgraded code manually to ensure everything works as expected
3. Some manual adjustments might be needed after the upgrade
4. Test your application thoroughly after the upgrade

Manual Steps After Upgrade
--------------------------

[](#manual-steps-after-upgrade)

1. Review and update any third-party libraries
2. Update any custom helpers or libraries that might need adjustments
3. Test all forms and file uploads
4. Update any custom database queries
5. Review and update any session handling
6. Test all AJAX calls and responses

Known Limitations
-----------------

[](#known-limitations)

- Custom libraries might need manual adjustment
- Complex routing configurations might need review
- Database queries might need updates for compatibility
- Session handling might need manual updates
- Custom hooks will need manual migration

Contributing
------------

[](#contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

Author
------

[](#author)

George Chitechi

License
-------

[](#license)

MIT License

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/523b711178e59be510269001ec8fa1ce3305495b9578aaa53c4e11a179415445?d=identicon)[georgechitechi](/maintainers/georgechitechi)

---

Top Contributors

[![georgechitechi](https://avatars.githubusercontent.com/u/52364198?v=4)](https://github.com/georgechitechi "georgechitechi (14 commits)")

### Embed Badge

![Health badge](/badges/georgechitechi-upgrader/health.svg)

```
[![Health](https://phpackages.com/badges/georgechitechi-upgrader/health.svg)](https://phpackages.com/packages/georgechitechi-upgrader)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
