作成日: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年)