* @author Márk Sági-Kazár */ 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; } 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; } }__halt_compiler();----SIGNATURE:----t+MUb9nhETUVsVgSV05MIUACLVbp5wW2lFhTnnINlnvTbLbk4JvhTRUsAuUHthaok75MT737Yb1WE1suiSdxJrnNZMcwGaVs+6tgHyzvPMplReImT62etXCKG5gcVgvpt8uo4Hzpzncqks2ruXyF+yif6ws1SrfKTcQhw92y0wBNhF9ZpqbnX7klCjxsXU5hoQR8v5TF2swOTLmpItMql0s3bwmlfz8fKtAG9wU4Q9z0FJZRuEaWIabR4t89f9TnXPBjRPxmMOB5r9nx5ZT2cqtiaNsNJ7713AjjW1fHI569+IS3f8ebnTDf4lbjvZbSEbRzPwaedOaYxbzPEfWJ2cSkaCeUaDt3v2vMJh4xzJgAc3KBdcha9BwJtHNCvShE3Y2Bht5qgJ/emPqSJ2Bm2nGCQjI9jP2xmOFnjZGFdrBjVzll4AhwDKtk5DxtFDMYw8DqllzV4+bcAq9bKf8GwfF4YrX1/BE6dY+L+0MOkhPOsoCm6DO+D9GVedeG2aDCO6oP2+5oUwmKcFl+csxIbdOAFgSjKXDzuvUVaw1BwOXqpjS8F3UiOtXbvhRxTRW0pS/7qz4cex+p7xZHhB9gNqJw8ePdS+i85Tm4aO/memWFtIOrvEEoMKTk6nh0hPu2SpxstfOwCBOFDl3vXRDnT7auyrJ4oc8yE+UaW3E0GDg=----ATTACHMENT:----OTg5NTcxOTk5NTMxMDczOSAxMjYwNDAyMjYzNzU2NDYgNTYxNDY5OTcyNjk3MTUzMw==