eureka

Laravelアプリの雛形をつくってサーバを立ち上げるまで

1

アプリケーション開発にあたりLaravelを使用する。
まずは導入としてアプリの雛形をインストールして、アプリケーションがどんな風になっているかを確認したい。

データベースの用意

まずはデータベースを作成する。
今回はtest_appというデータベースで作成する。

コマンドラインからMySQLに接続してデータベースを作成する。

$ mysql -u root
mysql> CREATE DATABASE test_app;
mysql> exit

Laravelのインストール

下記のコマンドでLaravelのアプリケーションの雛形を導入できる。

// composer create-project --prefer-dist laravel/laravel アプリケーション名 バージョン指定(あれば)
$ composer create-project --prefer-dist laravel/laravel kakeibo

少し時間がかかってちゃんと新しいディレクトリができていればOK

Laravelアプリケーションのファイル

Laravelのアプリ内のファイル構造はこんな感じ。

ディレクトリ/ファイル名概要
appapplicationの略、その名の通りアプリケーションのメインとなるクラスはほとんどここに入る
bootstrapフレームワークの初期化を行うファイルが入る。フロントエンドフレームワークのBootstrapとは無関係
configconfigurationの略、アプリケーションの設定に関するファイルが入る
databaseデータベースのマイグレーションやシードが入る
publicアセット(画像、JavaScript、CSSなど)や全HTTPリクエストを始めに処理するファイルが入る
resourcesコンパイル前のビューやアセットが入る
routesルーティングに関するファイルが入る
storageコンパイルされたBladeテンプレート、キャッシュやフレームワークが生成するファイルが入る
testsテストに関するファイルが入る
vendorComposerによる依存パッケージが入る
.envenvironmentの略、アプリケーションの環境変数をまとめる
composer.jsoncomposer updateコマンドでアップデートするパッケージをまとめる
composer.lockcomposer installコマンドでインストールするパッケージをまとめる

.envファイルにデータベースの設定をする

VScode(テキストエディタ)から.envファイルを開き、先ほど作成したデータベース名を入力する。

DB_DATABASE=test_app
DB_USERNAME=root
DB_PASSWORD=""

サーバを立ち上げてページを表示させる

ビルトインサーバ(プログラミング言語が元々持っている開発用の簡易的なサーバ)を立ち上げる。

Laravelプロジェクト内に移動したら下記のコマンドを発動ッ
いでよ!LaravelTOPページ!

$ php artisan serve

ローカルホストにアクセスすると・・・

とりあえずこんな感じで簡単にLaravelの導入はできたけど、結構ここからだから!笑

ターミナルに戻るとずっと入力状態になっていて、コマンドを受け付けないようになっているので、基本的にはもう一つターミナルを立ち上げて、平行して作業を進めていくことになる。

VScode内でもターミナルを立ち上げられてとても簡単に平行作業ができるので、やっぱりVScodeが良き。

サーバを落としたいとき

サーバを落としたいときはphp artisan serveコマンドを叩いたターミナルの続きに、ctrl+cと打てばOK

ちなみに、.envファイルに変更があるたびに設定を反映させないといけないのでサーバを再起動させる必要がある。

ビルトインサーバ立ち上げに使用するコマンド

php artisan serveコマンドはLaravelアプリケーションが持っているコマンドで、PHP自体が持っているコマンドでもサーバを立ち上げることができる。ただの自分への覚書き。

// php -S ホスト名:ポート番号
$ php -S kakeibo:8000

ただしこの方法でサーバを立ち上げる場合には、Laravelアプリ内でレスポンスとして返すファイルがpublicディレクトリ以下になるため、publicディレクトリを指定するか、publicディレクトリ内まで移動する必要がある。

まぁいろいろ言ったけど、Laravelアプリ内ならphp artisan serveコマンド使ったらラクで間違いないよって話。

まとめ

今回はLaravelアプリ開発のアプリの雛形を作ってサーバを立ち上げるまでをやった。
ページを作成したりルーティングやデータベースとの連携をしたり、一つのアプリを作るのにやることはまだまだたくさんあるので亀速で共有していきたい。

はやくアプリ作りたいな。

1