/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src
NameSizeModeActions
CodeGen/-0755rm
Command/-0755rm
Shell/-0755rm
Utility/-0755rm
View/-0755rm
Plugin.php49060644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/Plugin.php (4906B)
addPlugin('Cake/TwigView'); } /** * Define the console commands for an application. * * @param \Cake\Console\CommandCollection $commands The CommandCollection to add commands into. * @return \Cake\Console\CommandCollection The updated collection. */ public function console(CommandCollection $commands): CommandCollection { // Add commands in plugins and app. $commands = $this->discoverCommands($commands); // Add entry command to handle entry point and backwards compat. $commands->add(EntryCommand::defaultName(), EntryCommand::class); return $commands; } /** * Scan plugins and application to find commands that are intended * to be used with bake. * * Non-Abstract commands extending `Bake\Command\BakeCommand` are included. * Plugins are scanned in the order they are listed in `Plugin::loaded()` * * @param \Cake\Console\CommandCollection $commands The CommandCollection to add commands into. * @return \Cake\Console\CommandCollection The updated collection. */ protected function discoverCommands(CommandCollection $commands): CommandCollection { foreach (CorePlugin::getCollection()->with('console') as $plugin) { $namespace = str_replace('/', '\\', $plugin->getName()); $pluginPath = $plugin->getClassPath(); $found = $this->findInPath($namespace, $pluginPath); if (count($found)) { $commands->addMany($found); } } $found = $this->findInPath(Configure::read('App.namespace'), APP); if (count($found)) { $commands->addMany($found); } return $commands; } /** * Search a path for commands. * * @param string $namespace The namespace classes are expected to be in. * @param string $path The path to look in. * @return string[] * @psalm-return array> */ protected function findInPath(string $namespace, string $path): array { $hasSubfolder = false; $path .= 'Command/'; $namespace .= '\Command\\'; if (file_exists($path . 'Bake/')) { $hasSubfolder = true; $path .= 'Bake/'; $namespace .= 'Bake\\'; } elseif (!file_exists($path)) { return []; } $iterator = new DirectoryIterator($path); $candidates = []; foreach ($iterator as $item) { if ($item->isDot() || $item->isDir()) { continue; } /** @psalm-var class-string<\Bake\Command\BakeCommand> $class */ $class = $namespace . $item->getBasename('.php'); if (!$hasSubfolder) { try { $reflection = new ReflectionClass($class); /** @phpstan-ignore-next-line */ } catch (ReflectionException $e) { continue; } if (!$reflection->isInstantiable() || !$reflection->isSubclassOf(BakeCommand::class)) { continue; } } $candidates[$class::defaultName()] = $class; } return $candidates; } }