さて、本日はPHPのフレームワークとして有名なLaravelのプロジェクト作成方法について解説していきます。
また、Laravelのアプリを開発の際に導入するライブラリなどは各々あるかと思いますが、今回は「Laravel Collective」と「Laravel Fortify」を導入していきたいと思います。
それでは、早速見ていきましょう!
Laravelプロジェクト作成
$ composer create-project --prefer-dist laravel/laravel プロジェクト名
// Laravel8系を導入する場合
$ composer create-project --prefer-dist laravel/laravel LaravelMiniCMS "8.*"
上記のコマンドで現ディレクトリにLaravelの開発用のファイルがインストールされます。
続いて、プロジェクトのディレクトリに移動しておきましょう。
cd プロジェクト名
Laravel Collectiveの導入
Laravewl CollectiveはLaravelのアップデートによってフレームワークから削除されてしまったLaravelの機能をライブラリとして組み込むことができます。
Laravel Collectiveを導入すると、ファームなどの書き方をコンパクトにかけたりなどのメリットがあります。
$ composer require laravelcollective/html
上記コマンドでLaravel Collectiveを導入できますが、メモリー不足でエラーになってしまうことがあります。
このような場合は下記のコマンドを実行しましょう。
// メモリー不足でエラーの時
$ COMPOSER_MEMORY_LIMIT=-1 composer require
config/app.phpの編集
日本用設定にするためにapp.phpファイルを編集しておきましょう。
// config/app.php
return [
// …lock
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
'faker_locale' => 'ja_JP',
...
];
.envファイルの編集
こちらはMAMP環境用の設定です。
基本的にはMAMP管理画面に記載のある通りに記述しましょう。
僕の場合は下記のようになっておりました。
Host | localhost / 127.0.0.1 (depending on language and/or connection method used) |
---|---|
Port | 8889 |
Username | root |
Password | root |
Socket | /Applications/MAMP/tmp/mysql/mysql.sock |
こちらをもとに.envファイルに記載します。
// .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=bookstack2
DB_USERNAME=root
DB_PASSWORD=root
// DB_SOCKETは追加
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
これでMAMPへの接続が設定されたことになります。
Laravel Fortifyの導入
下記コマンドでLaravel Fortifyを導入します。
$ composer require laravel/fortify
// 必要なファイルを書き出す
$ php artisan vendor:publish --provider="Laravel\Fortify\FortifyServiceProvider”
次に作成されたconfig/fortify.phpファイルを編集します。
// config/fortify.php
<?php
return [
'username' => 'name',
'email' => 'email',
'home' => '/admin',
'limiters' => [
'login' => 5,
],
'features' => [],
// adminでアクセス
'path' => 'admin',
];
// ログイン、ログアウト機能だけを使う場合はfeaturesはコメントアウト
Providers/FortifyServiceProvider.php編集
こちらはプロジェクトに管理者が存在する場合に編集を行ってください。
// Providers/FortifyServiceProvider.php
public function boot()
{
// ...
// Viewのディレクトリを変更
Fortify::viewPrefix('back.auth.');
}
// viewのディレクトリをback/authに変更
config/app.php編集
// config/app.php
'providers' => [
// Fortify::createUsersUsing(CreateNewUser::class);
// Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class);
// Fortify::updateUserPasswordsUsing(UpdateUserPassword::class);
// Fortify::resetUserPasswordsUsing(ResetUserPassword::class);
App\Providers\FortifyServiceProvider::class,
],
まとめ
今回は「Laravel Collective」や「Laravel Fortify」など導入しましたが、Laravel初学者の方は「Laravel Collective」などは導入しなくても良いですし、「Laravel Fortify」を使用してログイン認証のUIを自作しなくてもLaravel UIなどでも良いかと思います。
今回はあくまでも自分が普段使用しているライブラリのLaravelプロジェクトの作成方法をご紹介しました。
参考にしていただければ幸いです。
コメント