【Laravel 6.x】Laravelプロジェクトの名称を変更する方法

はじめに

あまりないケースではありますが、一度作成したLaravelプロジェクトの名称を変更する方法を解説します。ここで言うLaravelプロジェクトの名称とは、以下のコマンドのSampleのことを指します。

$ composer create-project --prefer-dist laravel/laravel Sample

変更方法

Laravel 5.9以前

ターミナルで以下のコマンドを実行します。

$ php artisan app:name RevisedSample

Laravel 6.x

Laravel 6.xからphp artisan appコマンドが廃止されました。

[5.9] Remove AppNameCommand by driesvints · Pull Request #27575 · laravel/framework

そのため、php artisan app:nameと同等の独自コマンドを作成する必要があります。独自コマンドを作成するには、ターミナルで以下のコマンドを実行します。

$ php artisan make:command AppName

app/Console/Commands/AppName.phpが作成されました。このファイルに、有志が作成した以下のコードを貼り付けます。

[6.0] Command app:name

後は、Laravel 5.9以前と同様、以下のコマンドを実行するだけです。

$ php artisan app:name RevisedSample

変更箇所

pjhp artisan app:nameを実行することで、コントローラーの名前空間が以下のように変更されます。

変更前

use App\User;

変更後

use RevisedSample\User;

手動で変更が必要な箇所

ビューの名前空間

ビューで名前空間を使用することはあまりないとは思いますが、ビューの名前空間は手動で変更する必要があります。あるいは、これを機会に処理をコントローラーに移したほうがいいかもしれません。

変更前

@foreach (App\Post::all() as $post)

変更後

@foreach (RevisedSample\Post::all() as $post)

シンボリンク再作成

public/storage/のシンボリックリンクを作成していた場合、public/storage/を手動削除した後、シンボリックリンクを再作成する必要があります。

$ rm public/storage
$ php artisan storage:link

まとめ

Laravelプロジェクトの名称を変更することはあまりないと思いますが、一応手順としてまとめてみました。

必要に応じてGitHubのリポジトリ名変更なども行ってください。

関連記事

開発環境(ローカルストレージ)と本番環境(Amazon S3)にトリミング+リサイズした画像を保存する方法
# はじめに 以前、以下の記事を書きました。 - [開発環境と本番環境で画像のアップロード先を分岐する方法 \- AUTOVICE](https://www.autovice.jp/articles/68) - [ローカルやAmazon [...]
2020年3月7日 11:56
Laravel Mixの仕組みをわかりやすく解説:CSSをSASS/SCSSで記述する方法
# はじめに Laravel Mixの仕組みをわかりやすく解説します。Laravel Mixを使ってアセットコンパイルを行うことで、SASS/SCSSでCSSを記述できるようになります。 # Laravel Mixの仕組み まずはじめに、 [...]
2020年3月6日 9:25
【Laravel】ローカルディスクやAmazon S3にアップロードした画像をビューで表示する方法
# はじめに 本記事では、ローカルディスクやAmazon S3にアップロードした画像をビューで表示する方法について説明しています。 なお、本記事では画像のアップロードする方法については説明していません。本記事は既に実装済みの画像アップロード [...]
2020年3月4日 15:44
【Laravel】Amazon S3へのアップロードが「403 Access Denied」で失敗する原因と対処方法
# はじめに LaravelでAmazon S3へ画像アップロードする処理を実装し、いざアップロードしようとしたところ、以下のエラーが出て失敗しました。 ``` Error executing "PutObject" on "https: [...]
2020年3月4日 13:33
開発環境と本番環境で画像のアップロード先を分岐する方法
# はじめに この記事では、以下の方針で画像のアップロード先を分岐する方法について解説しています。 - 開発環境:ローカル(storage/app/public/) - 本番環境:Amazon S3 # 事前準備 AWSに未登録の [...]
2020年3月4日 12:52
独自ポリシーの導入手順と注意点(ハマリポイント)を解説
# はじめに ユーザーと記事を関連付けておいて、編集や削除は記事の作成者のみ許可したいときにはポリシーを作成します。今回はポリシーの導入手順と注意点(ハマリポイント)を解説します。 # 導入手順 ## ポリシー作成 ターミナルで以下 [...]
2020年3月1日 10:32
ユーザー認証機能の導入手順と生成されたフォームを日本語化する方法を解説
# はじめに Laravelではユーザー認証機能の導入が簡単にできてしまいます。この記事ではLaravelプロジェクトにユーザー認証機能を追加する手順と、生成されたフォーム(デフォルトでは英語)を日本語化する方法を解説します。 # 前提 [...]
2020年2月29日 13:54
【Laravel 6.x】ネスト構造になっているRESTfulルーティングの定義方法
# はじめに RESTfulルーティングを定義するときは`Route::resource`を使いますが、ネスト構造になっているRESTfulルーティングの定義方法を調べたので記事にします。 # 前提 おそらく、Laravel 6.xのみ対 [...]
2020年2月28日 20:06