7 use Puli\Discovery\Api\Discovery;
8 use Puli\GeneratedPuliFactory;
36 private static function getPuliFactory()
38 if (
null === self::$puliFactory) {
39 if (!defined(
'PULI_FACTORY_CLASS')) {
43 $puliFactoryClass = PULI_FACTORY_CLASS;
49 self::$puliFactory =
new $puliFactoryClass();
62 private static function getPuliDiscovery()
64 if (!isset(self::$puliDiscovery)) {
65 $factory = self::getPuliFactory();
66 $repository = $factory->createRepository();
68 self::$puliDiscovery = $factory->createDiscovery($repository);
80 $bindings = self::getPuliDiscovery()->findBindings($type);
82 foreach ($bindings as $binding) {
84 if ($binding->hasParameterValue(
'depends')) {
85 $condition = $binding->getParameterValue(
'depends');
87 $returnData[] = [
'class' => $binding->getClassName(),
'condition' => $condition];