argument('view'); $namespace = str_contains($view, '::') ? strstr($view, '::', true) : null; $name = str_replace('.', '/', $namespace ? substr($view, strlen($namespace) + 2) : $view) . '.blade.php'; $relative = match ($namespace) { null => $name, 'mail' => "mail/{$name}", default => "vendor/{$namespace}/{$name}", }; $original = $overrides->originalOf($relative); if ($original === null) { $this->error("No template {$view} in the code."); return self::FAILURE; } $target = platform_path("views/{$relative}"); if (is_file($target) && !$this->option('force')) { $this->error("platform/views/{$relative} exists already. Use --force to replace it (your changes in it are lost)."); return self::FAILURE; } File::ensureDirectoryExists(dirname($target)); File::put($target, '{{-- platform:override of ' . $overrides->shown($original) . ' sha1:' . sha1_file($original) . " --}}\n" . File::get($original)); $this->info("Copied {$overrides->shown($original)} to platform/views/{$relative}. Change it there; php artisan view:clear afterwards."); return self::SUCCESS; } }