hylianshield/vendor-locator-bundle

This bundle allows to locate vendor packages inside a Symfony project.

1.0.1 2017-01-29 11:25 UTC

This package is auto-updated.

Last update: 2024-03-29 03:09:28 UTC


README

This bundle allows to locate composer vendor packages inside a Symfony project. It interprets the composer.json in your project root to find the correct vendor base directory.

The vendor location is configured with a compiler pass, so the path lookup is stored in DI definition cache.

Installation

composer require hylianshield/vendor-locator-bundle:^1.0

Add the following bundle to the app kernel.

<?php
use HylianShield\VendorLocatorBundle\HylianShieldVendorLocatorBundle;

//...
class AppKernel extends Kernel
{
    // ...
    public function registerBundles()
    {
        $bundles = [
            // ...
            new HylianShieldVendorLocatorBundle()
        ];
        // ...
    }
    // ...
}

Make sure to flush the cache, to activate the compiler pass.

Usage

The file locator service is available as service hylianshield.file_locator.vendor.

With this service, one can find files relative to the vendor directory:

<?php
/** @var \Symfony\Component\Config\FileLocatorInterface $locator */
$locator = $this->get('hylianshield.file_locator.vendor');

echo $locator->locate('hylianshield/vendor-locator-bundle');

Outputs:

/path/to/symfony/vendor/hylianshield/vendor-locator-bundle