[ 'slim/slim', 'nyholm/psr7', 'nyholm/psr7-server', 'php-di/slim-bridge', 'rubellum/slim-blade-view', 'nesbot/carbon' ], 'require-dev' => [ 'phpunit/phpunit', 'kint-php/kint' ] ]; return $view->render($response, 'create.step1', compact('defaults')); } /** * Step 2 * Revision y confirmacion de datos */ public function step2(Request $request, Response $response, Composer $composer, Projects $service, View $view): Response { $post = $request->getParsedBody(); $name = $post['nombre']; $exists = $service->exists($name); $require = explode(',', $post['dependencias'][0]); $require = $composer->getLatest($require, Composer::MAYOR); $require_dev = explode(',', $post['dependencias-dev'][0]); $require_dev = $composer->getLatest($require_dev, Composer::MAYOR); $json = json_encode([ 'name' => implode('/', ['provm', $name]), 'descripcion' => $post['descripcion'], 'type' => 'project', 'require' => $require, 'require-dev' => $require_dev, 'authors' => [ [ 'name' => 'Aldarien', 'email' => 'aldarien85@gmail.com' ] ], 'autoload' => [ 'psr-4' => [ implode("\\", [ 'ProVM', ucwords($post['nombre']), 'Common' ]) . "\\" => 'common' ] ] ], \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES | \JSON_UNESCAPED_UNICODE); return $view->render($response, 'create.step2', ['step' => 2, 'exists' => $exists, 'composer' => $json]); } public function step3(Request $request, Response $response, Projects $service, View $view): Response { $post = $request->getParsedBody(); $name = explode('/', json_decode($post['composer'])->name)[1]; $composer = $post['composer']; $step = 3; return $view->render($response, 'create.step3', compact('step', 'name', 'composer')); } }