Edited at

【PHP】Laravel 学習メモ / 簡易アプリで流れを掴む1(表示まで)


〜簡易アプリで流れを掴む1(表示まで)〜

PHPのフレームワークであるLaravelの流れを掴むために簡単なアプリを開発してみます。

2回に分けて実装していきます。

次回、

【PHP】Laravel学習メモ / 簡易アプリで流れを掴む2(受け取ったデータを計算して完成まで


目標アプリ

入力した米ドルを日本円に換算する。


開発環境:

PHP 7.1.23

Laravel Framework 5.8.35

Composer version 1.9.0

開発環境が一通り終わっているという状態からのスタートとします。


公式ドキュメント 

https://readouble.com/laravel/


今回の目標

以下の画面まで表示させる

スクリーンショット 2019-11-04 13.33.32.png


プロジェクトの開始

cal_numberというプロジェクトファイルを作ります(名前は適当につけました)

コマンド

$ composer create-project --prefer-dist laravel/laravel cal_number

ディレクトリまで移動

$ cd cal_number

サーバーを立ち上げる

$ php artisan serve

//Laravel development server started: <http://127.0.0.1:8000>


ルーティング

ファイル: routes/web.php

Laravelトップページを表示するためにデフォルトで下記の様に書かれています。


routes/web.php

Route::get('/', function () {

return view('welcome');
});

それを表示するビューファイル: views / welcome.blade.php


views/welcome.blade.php


//〜略〜
<div class="content">
<div class="title m-b-md">
Laravel
</div>
//〜略〜

サーバーを立ち上げ、トップページにアクセスしてみます。

コマンド

$ php artisan serve

トップページURL: localhost:8000

(プロジェクトを作って、サーバーを立ち上げたときの8000という数字はポート番号であり、その通り8000にアクセスします)

ポート番号とは

以下の様に表示されます

スクリーンショット 2019-11-04 11.25.37.png

試しにLaravel → Laravel2に変えてみます。


views/welcome.blade.php


//〜略〜
<div class="content">
<div class="title m-b-md">
Laravel2
</div>
//〜略〜

スクリーンショット 2019-11-04 11.28.31.png

では、実装していきます。

Route::getはgetアクションを示します。

'/calculate'はURLのアクセス先。

'CalculateController@getcalc'はCalculateControllerのgetcalcを指します。(順番が逆になってしまいましたが、コントローラーは後ほどこの名前で作成することにします)。

リソースコントローラーにより処理されるアクションについては下記で確認できます。

Laravel公式ドキュメント コントローラー


routes/web.php

Route::get('/calculate', 'CalculateController@getcalc');


これで、

localhost:8000/calculateにアクセスすると、CalculationControllerのgetcalcアクションに処理の指示が渡ります。


コントローラー

ルーティングでは、CalculateControllerという名前のコントローラーにに処理してもらうことにしてましたので、そのコントローラーを作ります。

コマンド

php artisan make:controller CalculateController

これでCalculateController.phpファイルが作られました。


app/Http/Controllers/calculateController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class CalculateController extends Controller{
}


ルーティングでは

localhost:8000/calculateにアクセスするとCalculateControllerのgetcalcに何か処理をやってもらうことになってましたので、まず次項でビューを作り、その次にそのビューを表示する処理をこのコントローラーに書くことにします。


ビュー

まず、ビューのディレクトリを作ってみます。

コマンド

mkdir resources/views/calculate

これでcalculateディレクトリが作られましたので、ビューファイルを作ります。

ビューファイルはcalculateディレクトリで右クリックしてNew Fileとかを選択すれば作れます。


resources/views/calculate/num.blade.php

<html>

  <head>
 <title>計算アプリ</title>
  </head>
  <body>
  <h1>計算アプリです</h1>
  </body>
</html>

次にこのビューをディスプレイに映してみます。

移すためにはコントローラーで処理を書く必要がありました。


コントローラーに処理を書く

コントローラーに、「localhost:8000/calculateにアクセスしたらnum.blade.phpというビューファイルを表示させる」処理を書きます。


app/Http/Controllers/calculateController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class CalculateController extends Controller
{
public function getCalc(Request $request){
return view('calculate.num');
  //calculateディレクトリのnum.blade.phpを表示する
}
}


これでlocalhost/8000/calculateにアクセスすると

スクリーンショット 2019-11-04 13.33.32.png

無事表示されました。


今回の処理の流れまとめ

・ルーティング(routes / web.php)で、「8000/calculateにアクセスするとCalculateControllerというコントローラーのgetCalcに処理をしてもらう」という設定を書く。

・コントローラーではルーティングから処理を依頼されたので、getcalc(){}の中に、処理したい内容を書く。今回は、「calculateディレクトリのnum.blade.phpを表示する」という処理。

・「8000/calculateにアクセスするとnum.blade.phpというビューファイルを表示する」準備が整ったので、表示したい内容を書く(今回は「計算アプリです」という一文のみ)。

・localhost:8000/calculateにアクセス

次回、

【PHP】Laravel学習メモ / 簡易アプリで流れを掴む2(受け取ったデータを計算して完成まで