【php】MVCの基本
今回から少しPHPも勉強していきます。
今回の目的
今回は基本であるルーティング、コントローラ、ビューを作成して
Hello World!という文字を表示させます。
環境
PHP 7.3.18
Doctor(仮想環境)
Laradock
lalabel(フレームワーク)
※今回は開発環境は準備できている前提にします。
手順
1.ルーティングの作成
/routes/web.phpを以下のように編集
<?php Route::get('/hello','HelloBotController@index');
getメソッドに対して2つの引数を渡してます。
/helloはURLです。localhost/helloのURLを示してます。
HelloBotController@indexはコントローラの処理を示してます。
つまりまとめると「localhost/hello」にアクセスした際に
HelloBotControllerのindexアクションに定義された処理をするという
理解になります。
2.コントローラの作成
まずは以下のコマンドでコントローラを作成します。
docker-compose exec workspace php artisan make controller HelloBotController
php artisan make controller〜のコマンドでコントローラを作成します。
・注意
docker-compose exec workspaceは著者の環境では
Docker Composeという仕組みを使っているため使用してます。
そのため開発環境によっては不要です。
次にコントローラの処理を記述します。
app/Http/Controllers/HelloBotController.phpファイルを
以下のように編集します。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class HelloBotController extends Controller { public function index() { return view('hello.index') } }
public〜を追記してます。indexアクションをhello.indexのviewを
return(表示させる)するように記述してます。
3.ビューの作成
/resources/viewsフォルダに/hellobotフォルダを作成して
index.htmlのファイルを作成します。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>hello-bot</title> </head> <body> <h1>Hello world!</h1> </body> </html>
まとめ
PHPを触ったのが初めてでしたが 流れはrailsとあまり変わらないことを実感できました。 コードの書き方やメソッドなどは順次覚えていきたいです。