almostusable/psr4-autoloader

A minimalistic PSR-4 autoloader implementation for PHP projects

Maintainers

Package info

github.com/almostusable/psr4-autoloader

pkg:composer/almostusable/psr4-autoloader

Statistics

Installs: 19

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.5 2025-08-15 11:25 UTC

This package is auto-updated.

Last update: 2026-04-15 13:06:24 UTC


README

A minimalistic PSR-4 autoloader implementation for PHP projects.

⚠️ Warning

This autoloader is intended for internal usage only. It is a simple implementation and not recommended for production environments. For production, consider using Composer's built-in autoloader.

This autoloader only concerns itself with your project’s classes.
It deliberately ignores everything living inside vendor/ because teaching it to navigate the endless maze of third-party packages would be a ton of work—and, well, I have a life.

Installation

You can install the package via composer:

composer require almostusable/psr4-autoloader

Usage

  1. Configure your namespace mappings in composer.json:
{
  "autoload": {
    "psr-4": {
      "App\\": "src/"
    }
  }
}
  1. Include the autoloader in your PHP script:
require 'vendor/almostusable/psr4-autoloader/autoloader.php';

// Now you can use classes from your namespaces
use App\Factory\RandomFactory;

$randomFactory = new RandomFactory();

Known Issues and Limitations

  1. Basic Namespace Handling: The current implementation only checks the first segment of the namespace. This can cause issues with nested namespaces or similar prefixes.

  2. Limited Error Handling: The composer.json parsing has minimal error handling.

  3. Single Autoloading Standard: Only supports PSR-4, not other standards like PSR-0 or classmap.

Potential Improvements

  • Implement longest prefix matching for better namespace handling
  • Improve error handling for composer.json loading
  • Add support for multiple autoloading standards