Laravelの開発環境を構築する(Jetstream、Livewire、SQLite使用)

LaravelPHPフレームワークで、その使いやすさとパワフルな機能から、多くの開発者に支持されています。
度々、Laravelの記事を書いていますが、今回はLaravelの最新版を使用して、JetstreamLivewireを組み合わせ、データベースにはSQLiteを利用した開発環境を構築する手順を詳しく説明します。

Laravel開発環境の構築手順

構築環境
  • OS:Ubuntu 22.04.x(LTS)
  • Apache:2.4.x
  • PHP:8.1.x
  • Laravel 10.x
  • SQlite:3.x
  • Jetstream:4.x
  • Livewire:3.x

プロジェクト作成

いつも通りcomposerLaravelプロジェクトを作成して、プロジェクトディレクトリに移動します。

composer create-project laravel/laravel sample
cd sample/

composerのダウンロードはこちらから。

データベース作成

今回はいつものMySQLではなく、今回はSQLiteデータベースを作成します。
SQLiteは、複雑なデータベース設定をせず手軽に開発を進めることができ、小規模のアプリケーションを作るには最適です。

まずは、databaseフォルダにSQLiteデータファイルを作成します。

touch database/database.sqlite

次に、設定ファイルの.envを変更します。
デフォルトでは、以下のようにローカルのMySQLを参照するようになっています。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

この部分の1行目以外を消して、「DB_CONNECTION」を以下の通り変更します。

DB_CONNECTION=sqlite
管理者

初めてSQLiteを使いました。
これだけで良いなんて驚きです!

それでは、以下のコマンドを実行して、必要なテーブルを作成します。(構築後にもう1度実行すること)

php artisan migrate

この時、もし以下ようなエラーが出たら、PHPのSQLiteモジュールが不足している可能性があります。

could not find driver (Connection: sqlite, SQL: PRAGMA foreign_keys = ON;)

以下のコマンドを実行し、サーバーPHPのSQLiteモジュールをインストールしてください。

apt -y install php-sqlite3

Jetstreamのインストール

Jetstreamは、Laravelのアプリケーションを迅速に構築するためのスターターキットです。
Jetstreamを導入すると、一瞬で認証機能が完成します。

Jetstreamcomposerを使用してインストールします。

composer require laravel/jetstream

JetstreamにはInertia.jsLivewireの2つのスタックがありますが、ここではLivewireを選択します。
また、--darkオプションでダークモードにしました。

php artisan jetstream:install livewire --dark

LivewireSPA(Single Page Application)を構築するための素晴らしいツールです。
詳細はLivewireの公式サイトをご覧ください。

以上で完了です。
認証用のテーブルを作成するので、最後にもう一度以下のコマンドを実行してください。

php artisan migrate

まとめ

Laravelを使った開発環境の構築は非常にシンプルであり、JetstreamLivewireを導入することで開発効率を大幅に向上させることができます。
また、SQLiteを使用することで、軽量かつ手軽に開発を進めることができます。
しかし、プロジェクトの規模や要件によっては、より高度なデータベースを検討することが重要です。

最新の情報や詳細な手順については、Laravel公式ドキュメントを参照してください。
是非、これらのツールを駆使して、効率的でパワフルなWebアプリケーションを開発してみてください。

著:山崎 大助
¥3,300 (2023/11/20 11:10時点 | Amazon調べ)
著:大重 美幸
¥3,450 (2023/11/19 14:58時点 | Amazon調べ)


Amazonベストセラー

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA