ラボ > サーバ:Xampp、Laravel、Lumen:インスト絡み

Laravel Xamppにインストから最低限のセットまで

LaravelをPHP7.2.3にインストしたい。

作成日:2019-03-25, 更新日:2023-09-12

基本

PHPのバージョンの問題があるからLaravel(5.2)でしばらく勉強しようと思ったけど・・・Laravel(5.7)と差異が激しい感じ。
今後のことも考え「Laravel(5.7) / PHP7.2.3」で勉強。

インストの流れ(2019-03-25)

Laravel(5.2) Xamppにインストから最低限のセットまで」と基本同じ。
今回はComposerでプロジェクト作成のみ(※「インストーラーを使ってプロジェクト作成」はしない)

1.Composerでプロジェクト作成
2.調整してブラウザで確認
3.Hello Worldの出力
※1、2は「Laravel(5.2) Xamppにインストから最低限のセットまで」と同じ。

▼条件
・Xampp / PHP7.2.3
・「xampp\htdocs\laravel-test」とし「http://localhost/laravel-test/」とする

1.Composerでプロジェクト作成

▼CMDで下記実行(カレントは「xampp/htdocs」に移しておく)

# composer create-project --prefer-dist laravel/laravel 〇〇〇 "5.7.*"

※laravelのドキュメントを見るとlaravel5.2のときはバージョンの指定不要だったのに・・・5.7は指定がいるっぽい。

▼「xampp\htdocs\laravel-test」にしたい

# composer create-project --prefer-dist laravel/laravel laravel-test "5.7.*"

2.調整してブラウザで確認

▼ファイルを移動
1.「src」フォルダを作成して「xampp/htdocs/laravel-test/public」以外をいれる
2.「xampp/htdocs/laravel-test/public」の中身を「xampp/htdocs/laravel-test」に移動

▼こんな感じ

移動前 移動後
■xampp/htdocs/laravel-test/
├app/
├bootstrap/
├public/
│├index.php
│├.htaccess
│└略
├.env
└略
■xampp/htdocs/laravel-test/
├src/ ←「/public」の中身以外をココにいれる
│├app/
│├bootstrap/
│├.env
│└略
├index.php ←「/public」の中身を「xampp/htdocs/laravel-test/」直下にいれる
├.htaccess
└略

各ファイルの中身の確認、調整

・「laravel-test\src\.env」の「APP_KEY」が設定されているか。
・「laravel-test\src」に「deny from all」を記載した「.htaccess」を追加
・「laravel-test\src\config\app.php」のlocal絡み(「en」は「ja」、「en_us」を「ja_JP」にする)
・「laravel-test\index.php」のrequireのPATHの変更(※「/src/vendor/~」にする)
・「laravel-test\src\server.php」はいるのかいらないのか不明なので、適当にリネームしておく(どっかでエラーが出たら戻す予定)

ブラウザで確認

・「http://localhost/laravel-test」でアクセス

3.Hello Worldの出力

Laravel(5.2)と基本は同じだけどPATHが違う(※ルーティングの設定だけ違うっぽい)

1.ルーティングの設定
2.コントローラーの作成
3.ビューの作成

▼関係のあるファイルとディレクトリ
・src\routes\web.php
・src\app\Http\Controllers
・src\resources\views

▼今回は「/hello」でアクセスがあったら「Hello World」を出力したHTML(ビュー)を表示させる
・「/hello」は「コントローラー:HelloController」の「アクション:index」を表示
・「HTML(ビュー)」は「hello.blade.php」を表示
※「〇〇〇.blade.php」の「blade」は何を意味しているかは知らない。こういうお作法だと思う。

1.ルーティングの設定

▼「src\routes\web.php」に追加

Route::get('hello', 'HelloController@index');

これで「/hello」にアクセスがあったら「コントローラー:HelloController」の「index」を表示になるハズ。

2.コントローラーの作成

・「src\app\Http\Controllers」の中に「HelloController.php」を作成

▼「src\app\Http\Controllers\Controller.php」を継承させる

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class HelloController extends Controller {
  public function index() {
    return view('hello');
  }
}

※コレで「src\resources\views\hello.blade.php」を読みにいくハズ

3.ビューの作成

▼「src\resources\views」に「hello.blade.php」を作成

<!DOCTYPE html>
<html>
    <head>
        <title>hello world</title>
    </head>
    <body>
        <p>hello world</p>
    </body>
</html>

「http://localhost/laravel-test/hello」で確認

関連項目

lumen Xamppにインスト
Laravel(5.2) Xamppにインストから最低限のセットまで
win+xampp+laravelのインスト手順のメモ(2023年)