PHPackages                             icaine/renamed-class-loader - 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. icaine/renamed-class-loader

ActiveLibrary

icaine/renamed-class-loader
===========================

Class loader that triggers a callback when using old class name

v1.0(11y ago)119BSD-3-ClausePHP

Since Jun 1Pushed 11y ago1 watchersCompare

[ Source](https://github.com/icaine/RenamedClassLoader)[ Packagist](https://packagist.org/packages/icaine/renamed-class-loader)[ RSS](/packages/icaine-renamed-class-loader/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (2)Used By (0)

RenamedClassLoader
==================

[](#renamedclassloader)

[![Build Status](https://camo.githubusercontent.com/69db05dfed0fe6fce39fd03fdb85e16fee834d65cab427c6fb2d6d2f3bf3fb96/68747470733a2f2f7472617669732d63692e6f72672f696361696e652f52656e616d6564436c6173734c6f616465722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/icaine/RenamedClassLoader)

Simple loader for loading old/renamed classes with `onClassLoaded` event useful e.g. for logging or noticing that old class name is used. The loader uses `class_alias()` function to alias new class name with the old one.

Composer
--------

[](#composer)

require: `"icaine/renamed-class-loader": "~1.0"`

Usage
-----

[](#usage)

```
//registering classes
$loader = new iCaine\RenamedClassLoader([
    'Old\\Class\\Name' => 'New\\Class\\Name'
]);

//or like this
$loader->registerClass('Old\\Class\\Name', 'New\\Class\\Name');

//or this way
$loader->registerClasses([
    'Old\\Class\\Name' => 'New\\Class\\Name'
]);

//we can register a callback(s) when the loader successfully loads old class
$loader->onClassLoaded[] = function($oldName, $newName) {
    trigger_error("Old class name used: '$oldName'. Use new name '$newName' instead.", E_USER_DEPRECATED);
};

//now lets register the loader (uses spl_autoload_register function)
$loader->register();
```

> **Note:** `$loader->register()` should be called after your loader is registered because *RenamedClassLoader* uses `class_alias()` function that will try to load new class name first and then alias it with the old name.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4361d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1388807?v=4)[icaine](/maintainers/icaine)[@icaine](https://github.com/icaine)

---

Top Contributors

[![icaine](https://avatars.githubusercontent.com/u/1388807?v=4)](https://github.com/icaine "icaine (5 commits)")

### Embed Badge

![Health badge](/badges/icaine-renamed-class-loader/health.svg)

```
[![Health](https://phpackages.com/badges/icaine-renamed-class-loader/health.svg)](https://phpackages.com/packages/icaine-renamed-class-loader)
```

PHPackages © 2026

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