public function generate() { $package = new Package(); $generator = new CompoundGenerator(); // Copy config to package, as CompoundGenerator should be configured already via: // - sprite.yml // - any EmbeDi config source $info = new ReflectionObject($package); foreach ($info->getProperties(ReflectionProperty::IS_PUBLIC) as $property) { $name = $property->name; $package->{$name} = $generator->{$name}; } $generator->add($package); $generator->generate(); }
public function generate($verbose = false) { $this->verbose = $verbose; // Gather package signals $signals = (new Signal())->emit(new SpritePackage()); $generator = new CompoundGenerator(); // Add all packages foreach ($signals as $signal) { /* @var $signal SpritePackage */ $this->out(sprintf('SIG: %s', get_class($signal->getSlot()))); foreach ($signal->getPackages() as $package) { $this->out(sprintf('PKG: %s', get_class($package))); $num = count((new Helpers\ImageFinder())->find([$package])); $data = ['CLS: ' . $package->getConstantsClass(), 'NUM: ' . $num, 'DIR: ' . PHP_EOL . implode(PHP_EOL, $package->getPaths())]; $this->out(implode(PHP_EOL, $data)); $this->out(''); $generator->add($package); } } $generator->generate(); }