Command\GenerateProjectCommand::generateProjectFolder PHP Метод

generateProjectFolder() приватный Метод

Generate Project Folder
private generateProjectFolder ( $input, $filesystem )
$input
$filesystem
    private function generateProjectFolder($input, $filesystem)
    {
        $path = $input->getArgument('path');
        $app = $input->getArgument('app');
        $vendor = $input->getArgument('vendor');
        $filesystem->mirror(__DIR__ . '/../Resources/skeleton/project', $path);
        $targetBundleDir = sprintf('%s/src/%s/%sBundle', $path, $vendor, $app);
        $filesystem->mkdirs($targetBundleDir);
        $filesystem->mirror(__DIR__ . '/../Resources/skeleton/bundle', $targetBundleDir);
        $filesystem->rename($targetBundleDir . '/AppBundle.php', $targetBundleDir . '/' . sprintf('%sBundle.php', $vendor . $app));
        if ($controller = $input->getOption('controller')) {
            $filesystem->rename($targetBundleDir . '/Controller/BundleController.php', $targetBundleDir . '/Controller/' . $controller . 'Controller.php');
            $filesystem->rename($targetBundleDir . '/Resources/views/Bundle', $targetBundleDir . '/Resources/views/' . $controller);
        } else {
            $filesystem->remove($targetBundleDir . '/Controller/BundleController.php');
            $filesystem->remove($targetBundleDir . '/Resources/Views/Bundle');
            $filesystem->remove($targetBundleDir . '/Resources/config/routing.yml');
        }
        $extension = 'twig' === $input->getOption('template-engine') ? 'php' : 'twig';
        $filesystem->remove($targetBundleDir . '/Resources/Views/layout.html.' . $extension);
        $filesystem->remove($targetBundleDir . '/Resources/Views/' . $controller . '/index.html.' . $extension);
        $filesystem->remove($targetBundleDir . '/Resources/Views/' . $controller . '/welcome.html.' . $extension);
        $filesystem->remove($path . '/app/Resources/views/base.html.' . $extension);
        /* create empty folder */
        $filesystem->mkdirs($path . '/app/cache', 0777);
        $filesystem->mkdirs($path . '/app/logs', 0777);
        $filesystem->mkdirs($path . '/src', 0755);
        $filesystem->mkdirs($path . '/vendor', 0755);
        $filesystem->mkdirs($targetBundleDir . '/Resources/public');
        $filesystem->mkdirs($targetBundleDir . '/Tests');
        $filesystem->chmod($path . '/app/console', 0755);
    }