Laravel 学習 part. 1
Laravel を使う
パーフェクトPHP を進めてきましたが、フレームワークの部分が煩雑なので先に Laravel の方を学習しようかと思います。
Composer をインストールして、Laravel のプロジェクトを作成します。
composer create-project "laravel/laravel=5.4.*" laravelapp
作成したプロジェクトのフォルダに移動し、コマンドラインで
php artisan serve
を実行してサーバを立ち上げると、アプリケーションのページにアクセスできます。
また、XAMPP を使う場合は、httpd.conf と httpd-vhosts.conf を編集して、public フォルダをドキュメントルートとします。
コントローラにアクションを追加する
次のコマンドでコントローラを追加します。
php artisan make:controller HelloController
追加したファイルに次のコードを記述します。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class HelloController extends Controller { public function index() { return <<<EOF <html> <head> <title>Hello/Index</title> <style> body { font-size:16pt; color:#999; } h1 { font-size:100pt; text-align:right; color:#eee; margin:-40px 0px -50px 0px; } </style> </head> <body> <h1>Index</h1> <p>これは、Helloコントローラのindexアクションです。</p> </body> </html> EOF; } }
このコントローラを利用するために、we.php に次の文を追加します。追加したアクションを確認するために、"http://localhost:8000/hello" にアクセスします。
Route::get('hello', 'HelloController@index');
PHPテンプレートをルート設定で表示
/hello という URL にアクセスした際に PHP ファイルで記述されて HTML テンプレートを呼び出します。
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> </body> </html>
web.php
<?php Route::get('hello', function() { // フォルダ名.ファイル名 return view('hello.index'); });
return view() で返される値は、Response のインスタンスであり、レンダリングされた後の値が返されます。
本
- 作者: 掌田津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2017/09/16
- メディア: 単行本
- この商品を含むブログを見る
感想
いったんパーフェクトPHPの学習をストップして、Laravelでフレームワークによる開発の学習をやります。何か作りたいサイトがあるわけではありませんが、PHPでアウトプットをしたいとは思います。