[COMPOSER] Added predis/predis and updated packages
This commit is contained in:
92
vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php
vendored
Normal file
92
vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace Http\Discovery\Strategy;
|
||||
|
||||
use Http\Discovery\ClassDiscovery;
|
||||
use Http\Discovery\Exception\PuliUnavailableException;
|
||||
use Puli\Discovery\Api\Discovery;
|
||||
use Puli\GeneratedPuliFactory;
|
||||
|
||||
/**
|
||||
* Find candidates using Puli.
|
||||
*
|
||||
* @internal
|
||||
* @final
|
||||
*
|
||||
* @author David de Boer <david@ddeboer.nl>
|
||||
* @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
|
||||
*/
|
||||
class PuliBetaStrategy implements DiscoveryStrategy
|
||||
{
|
||||
/**
|
||||
* @var GeneratedPuliFactory
|
||||
*/
|
||||
protected static $puliFactory;
|
||||
|
||||
/**
|
||||
* @var Discovery
|
||||
*/
|
||||
protected static $puliDiscovery;
|
||||
|
||||
/**
|
||||
* @return GeneratedPuliFactory
|
||||
*
|
||||
* @throws PuliUnavailableException
|
||||
*/
|
||||
private static function getPuliFactory()
|
||||
{
|
||||
if (null === self::$puliFactory) {
|
||||
if (!defined('PULI_FACTORY_CLASS')) {
|
||||
throw new PuliUnavailableException('Puli Factory is not available');
|
||||
}
|
||||
|
||||
$puliFactoryClass = PULI_FACTORY_CLASS;
|
||||
|
||||
if (!ClassDiscovery::safeClassExists($puliFactoryClass)) {
|
||||
throw new PuliUnavailableException('Puli Factory class does not exist');
|
||||
}
|
||||
|
||||
self::$puliFactory = new $puliFactoryClass();
|
||||
}
|
||||
|
||||
return self::$puliFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Puli discovery layer.
|
||||
*
|
||||
* @return Discovery
|
||||
*
|
||||
* @throws PuliUnavailableException
|
||||
*/
|
||||
private static function getPuliDiscovery()
|
||||
{
|
||||
if (!isset(self::$puliDiscovery)) {
|
||||
$factory = self::getPuliFactory();
|
||||
$repository = $factory->createRepository();
|
||||
|
||||
self::$puliDiscovery = $factory->createDiscovery($repository);
|
||||
}
|
||||
|
||||
return self::$puliDiscovery;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static function getCandidates($type)
|
||||
{
|
||||
$returnData = [];
|
||||
$bindings = self::getPuliDiscovery()->findBindings($type);
|
||||
|
||||
foreach ($bindings as $binding) {
|
||||
$condition = true;
|
||||
if ($binding->hasParameterValue('depends')) {
|
||||
$condition = $binding->getParameterValue('depends');
|
||||
}
|
||||
$returnData[] = ['class' => $binding->getClassName(), 'condition' => $condition];
|
||||
}
|
||||
|
||||
return $returnData;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user