Laravel 学習 part. 2
PHP テンプレート
HTML のソースコードだけの PHP ファイルだけではテンプレートとして使う意味がありませんが、値を渡したりすることで有効的な使い方ができます。
値をテンプレートに渡す
HelloController
<?php public function index() { $data = ['msg'=>'これはコントローラから渡されたメッセージです。']; return view('hello.index', $data); }
index.php
<?php <html> <head> <title>Hello/Index</title> <style> body {font-size: 16pt; color:#999} h1 {font-size: 100pt; text-align: right; color: #161616; margin: -50px 0px -100px 0px;} </style> </head> <body> <h1>Index</h1> <p>This is a sample page with php-template.</p> <p><?php echo $msg; ?></p> <p><?php echo date("Y年n月j日") ?></p> </body> </html>
配列を引数としてテンプレートに渡すことができます。
ルートパラメータ
ルートパラメータをテンプレートに渡します。
web.php
<?php Route::get('hello/{id?}', 'HelloController@index');
HelloController
<?php public function index($id='zero') { $data = ['msg'=>'これはコントローラから渡されたメッセージです。', 'id'=>$id]; return view('hello.index', $data); }
index.php
<html> <head> <title>Hello/Index</title> <style> body {font-size: 16pt; color:#999} h1 {font-size: 100pt; text-align: right; color: #161616; margin: -50px 0px -100px 0px;} </style> </head> <body> <h1>Index</h1> <p>This is a sample page with php-template.</p> <p><?php echo $msg; ?></p> <p><?php echo date("Y年n月j日") ?></p> <p>ID=<?php echo $id; ?></p> </body> </html>
Blade テンプレート
Laravel 独自のテンプレートエンジンである Blade を使います。○○.php というファイルより ○○.blade.php というファイルが優先されて使われます。
index.blade.php
{{$変数}} という形で変数をテンプレート内に埋め込むことができます。
<html> <head> <title>Hello/Index</title> <style> body {font-size: 16pt; color: #999;} h1 {font-size: 50pt; text-align: right; color: #f6f6f6; margin: -20px 0px -30px -px; letter-spacing: -4pt;} </style> </head> <body> <h1>Blade/Index</h1> <p>{{$msg}}</p> </body> </html>
本
- 作者: 掌田津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2017/09/16
- メディア: 単行本
- この商品を含むブログを見る
感想
なんとなく Laravel のメリットが出てきたような気がします。