for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php namespace Arcanedev\Composer\Entities\PackageTraits;
use Arcanedev\Composer\Utilities\Util;
use Composer\Package\RootPackageInterface;
/**
* Trait AutoloadTrait
*
* @package Arcanedev\Composer\Entities\PackageTraits
* @author ARCANEDEV <[email protected]>
*/
trait AutoloadTrait
{
/* ------------------------------------------------------------------------------------------------
| Properties
| ------------------------------------------------------------------------------------------------
/** @var \Composer\Package\CompletePackage $package */
protected $package;
/** @var string $path */
protected $path;
| Main Functions
* Merge autoload into a RootPackage.
* @param \Composer\Package\RootPackageInterface $root
private function mergeAutoload(RootPackageInterface $root)
if ( ! empty($autoload = $this->package->getAutoload())) {
static::unwrapIfNeeded($root, 'setAutoload')
->setAutoload(array_merge_recursive(
$root->getAutoload(), Util::fixRelativePaths($this->path, $autoload)
));
}
* Get a full featured Package from a RootPackageInterface.
* @param \Composer\Package\RootPackageInterface|\Composer\Package\RootPackage $root
* @param string $method
* @return \Composer\Package\RootPackageInterface|\Composer\Package\RootPackage
abstract protected function unwrapIfNeeded(
RootPackageInterface $root, $method = 'setExtra'
);