Exemplo n.º 1
0
 public function getNamespaces($requestedNamespace, $inputFolder, $exclude)
 {
     $broker = new Broker($backend = new Broker\Backend\Memory());
     $broker->processDirectory($inputFolder);
     $namespaces = $backend->getNamespaces();
     ksort($namespaces);
     $excludedNamespaces = $this->getExcludedNamespaces($exclude);
     $filteredNamespaces = $this->getFilteredNamespaces($requestedNamespace, $namespaces, $excludedNamespaces);
     return $filteredNamespaces;
 }
Exemplo n.º 2
0
 /**
  * @see Symfony\Component\Console\Command.Command::execute()
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $namespace = $input->getArgument('namespace');
     $path = $input->getArgument('path');
     $out = realpath($input->getOption('output'));
     $output->writeln(sprintf('<comment>Processing code from namespace %s</comment>', $namespace));
     $output->writeln(sprintf('<comment>Processing files from %s</comment>', $path));
     $output->writeln(sprintf('<comment>Outputting to %s</comment>', $out));
     $output_files = array();
     $filters = array();
     if ($filtersArgument = trim($input->getOption('filters'))) {
         $filters = explode(';', $filtersArgument);
         foreach ($filters as $filter) {
             $output->writeln(sprintf('<comment>Applying filter %s</comment>', $filter));
         }
     }
     $broker = new Broker($backend = new Memory());
     $broker->processDirectory($path, $filters);
     $namespaces = $backend->getNamespaces();
     ksort($namespaces);
     $excludes = array();
     if ($exclude = trim($input->getOption('exclude'))) {
         $excludes = explode(';', $exclude);
         foreach ($excludes as $exclude) {
             $output->writeln(sprintf('<comment>Excluding code from %s</comment>', $exclude));
         }
     }
     $filtered = array();
     foreach ($namespaces as $n => $reflection) {
         if (substr($n, 0, strlen($namespace)) != $namespace) {
             continue;
         }
         foreach ($excludes as $exclude) {
             if (strncmp($n, $exclude, strlen($exclude)) == 0) {
                 continue 2;
             }
         }
         $filtered[$n] = $reflection;
     }
     unset($namespaces);
     $elements = array();
     foreach ($filtered as $n => $reflection) {
         $output->writeln(sprintf('<info>Processing %s</info>', $n));
         $element = new NamespaceElement($reflection);
         $element->buildClasses($out, $output);
         $elements[$n] = $element;
     }
     unset($filtered);
     foreach ($elements as $n => $element) {
         $output->writeln(sprintf('<info>Building index for %s</info>', $n));
         $options = array();
         if ($n == $namespace && $input->getOption('title')) {
             $options = array('title' => $input->getOption('title'));
         }
         $element->buildIndex($out, $output, $options);
     }
 }