LaravelでHello world
Laravelの開発環境構築が無事に終わりましたので、次はHello worldにチャレンジです。(実際にやりながら記事も書いているので支離滅裂になっているかもしれません)
web routeの確認
最初にインストールした状態ではwelcomeページが表示されるように設定されています。 web routeの設定は、routesディレクトリのweb.phpファイルに書かれています。
Route::get('/', function () { return view('welcome'); });
ここを直接hello worldに書き換えても問題なく動作します。
Route::get('/', function () { return 'hello world'; }
これでwebブラウザを確認してみると、きちんと出力されているはずです。 ただし、これだとMVCモデルだとかその辺りが全く意識されていないし拡張性もゼロなので、コントローラーを呼び出すようにしてみたいと思います。
コントローラーの作成
vagrantのコマンドプロンプト上でコントローラーを作成します。
$ php artisan make:controller helloContoroller Controller created successfully.
作成すると、app/Http/Controllers
にhelloController.php
というファイルが作成されます。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class helloController extends Controller { // }
デフォルトで上記のファイルができています。そこに処理を追加します。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class helloController extends Controller { public function getIndex() { echo 'Hello World'; } }
Hello Worldと出力するだけのgetIndex()というメソッドを追加しました。
これをweb.phpに設定します。
Route::get('/helloworld/index', 'helloController@getIndex');
上記の設定を追加することで、helloworld/indexにアクセスされた時に、helloControllerのgetIndexメソッドが呼ばれます。
http://homestead.test/helloworld/index にアクセスすると、期待通りの結果が得られることを確認できました。
本来はviewも用意して、コントローラーからビューを呼び出すのが正しいと思いますので、次はviewを作成するところにチャレンジしてみたいと思います。