Skip to content

Automatically define constants that expose details of the Composer configuration.

Notifications You must be signed in to change notification settings

bangpound/composer-constants

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Composer Constants

This Composer plugin defines constants within the generated autoload.php for the Composer autoloader factory class name, the composer.json file, the base directory, the bin directory, and the vendor directory.

If you need more runtime introspection in your Composer project, see joshdifabio/composed.

Installation

composer require bangpound/composer-constants

Configuration

Set composer-constant-prefix if you want to override the default prefix COMPOSER_.

{
    "extra": {
        "composer-constant-prefix": "SPECIAL_COMPOSER_"
    }
}

Usage

When Composer dumps the autoloader, this plugin will prepend new constants for each of the values above.

Example vendor/autoload.php:

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer' . '/autoload_real.php';

if (!defined('COMPOSER_AUTOLOAD_CLASS')) {
    define('COMPOSER_AUTOLOAD_CLASS', 'ComposerAutoloaderInit283c0e3e301a833e1abc76806341c497');
}

if (!defined('COMPOSER_BASE_DIR')) {
    define('COMPOSER_BASE_DIR', '/srv/project');
}

if (!defined('COMPOSER_BIN_DIR')) {
    define('COMPOSER_BIN_DIR', '/srv/project/bin');
}

if (!defined('COMPOSER_FILE')) {
    define('COMPOSER_FILE', '/srv/project/composer.json');
}

if (!defined('COMPOSER_VENDOR_DIR')) {
    define('COMPOSER_VENDOR_DIR', '/srv/project/vendor');
}

return ComposerAutoloaderInit283c0e3e301a833e1abc76806341c497::getLoader();

If you want to use the Composer autoloader in your Symfony Dependency Injection Container, set up the service this way:

services:
    class_loader:
        class: Composer\Autoload\Classloader
        factory: [ '@=constant("COMPOSER_AUTOLOAD_CLASS")', getLoader ]

About

Automatically define constants that expose details of the Composer configuration.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages