protected function execute(InputInterface $input, OutputInterface $output)
 {
     $component = new BitrixComponent($input->getArgument('name'));
     if ($component->exists()) {
         $output->writeln("<error>Component {$componentName} already exists!</error>");
         $output->writeln("<info>" . $component->getComponentDir() . "</info>");
         return 1;
     }
     $namespace = $component->getNamespace();
     $componentName = $component->getName();
     $siteRoot = BitrixTool::getInstance()->getSiteRoot();
     if (!$siteRoot) {
         $output->writeln("<error>Not in a Bitrix web root!</error>");
         return 1;
     }
     $bitrixFolder = $input->getOption('bitrix') ? 'btrix' : 'local';
     $componentFolder = "{$siteRoot}/{$bitrixFolder}/components/{$namespace}/{$componentName}";
     $componentTemplateFolder = "{$componentFolder}/template/.default";
     $componentFiles = array('description' => "{$componentFolder}/.description.php", 'parameters' => "{$componentFolder}/.parameters.php", 'component' => "{$componentFolder}/component.php", 'template' => "{$componentTemplateFolder}/template.php");
     // Создаем структуру каталогов.
     if (!file_exists($componentTemplateFolder) && !$this->createFolder($componentTemplateFolder)) {
         return 1;
     }
     file_put_contents($componentFiles['component'], COMPONENT_TEMPLATE_COMPONENT);
     file_put_contents($componentFiles['parameters'], COMPONENT_TEMPLATE_PARAMETERS);
     file_put_contents($componentFiles['description'], COMPONENT_TEMPLATE_DESCRIPTION);
     file_put_contents($componentFiles['template'], COMPONENT_TEMPLATE_TEMPLATE);
 }