PHPのLaravel5.4でアプリケーションを作る(インストールら編)
Laravelとは
PHPでイケてるフレームワークで知られているアレです。最近は日本でも採用例が増えているされているので、使い方を知っておいて損はないと思います。また、日本語情報が本当に充実していて、学習のしやすさも魅力だと思います。
インストールとプロジェクト作成
これに関しては公式ドキュメントを読めばおkだと思います。
$ laravel new celler
上記のコマンドで開発に必要なフォルダ群が作成されます。
celler ├── app ├── artisan ├── bootstrap ├── composer.json ├── composer.lock ├── config ├── database ├── package.json ├── phpunit.xml ├── public ├── resources ├── routes ├── server.php ├── storage ├── tests ├── vendor ├── webpack.mix.js └── yarn.lock
$ php artisan serve
上記のコマンドを実行すると、http://localhost:8000
にアクセスすると、良さげなwelcomeページが見れます。では、ここからはさくっと動かすところまでやっていきたいと思います。
突然登場したartisanですが、これかなり便利です。
作るものについて
以下のMySQLのテーブルを用意して、CRUDするようなアプリケーションを作成します。 今回はとりあえず、固定値をViewに渡すところまでやりたいと思います。
View
resources/views/accounts/list.blade.php
とりあえず、受け取った値を表示するだけのViewを作成します。
ビュー 5.4 Laravel
見た目部分はそれっぽくなるBootstrapを使用しています。
Bootstrap · The world's most popular mobile-first and responsive front-end framework.
<!doctype html> <html lang="{{ config('app.locale') }}"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href=""> <title>Document</title> <link href="css/bootstrap/bootstrap.min.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="container"> <h1>accounts</h1> <table class="table"> <tr> <th>ID</th> <th>name</th> <th>email</th> <th>updated_at</th> <th>created_at</th> </tr> @foreach ($accounts as $account) <tr> <td>{{$account['id']}}</td> <td>{{$account['name']}}</td> <td>{{$account['email']}}</td> <td>{{$account['updated_at']}}</td> <td>{{$account['created_at']}}</td> </tr> @endforeach </table> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="js/bootstrap/bootstrap.min.js"></script> </body> </html>
Controller
$ php artisan make:controller AccountsController
app/Http/Controllers/AccountsController.php
コントローラーの雛形が作成されます。
コントローラ 5.4 Laravel
namespace App\Http\Controllers; use Illuminate\Http\Request; class AccountsController extends Controller { public function index() <---追加 { $account['id'] = 1; $account['name'] = 'pei'; $account['email'] = 'example@gmail.com'; $account['updated_at'] = '2016-02-02 10:10:10'; $account['created_at'] = '2016-02-02 10:10:10'; $accounts[] = $account; $account['id'] = 2; $account['name'] = 'pei2'; $account['email'] = 'example2@gmail.com'; $account['updated_at'] = '2017-02-02 10:10:10'; $account['created_at'] = '2017-02-02 10:10:10'; $accounts[] = $account; return view('accounts.list',compact('accounts')); } }
Routing
routes/web.php
にルーティングの定義を追加しました。
ルーティング 5.4 Laravel
// GET /accountsにアクセスされたら、AccountsControllerのindexが実行される Route::get('/accounts', 'AccountsController@index');
いざ実行!
$ php artisan serve $ open http://localhost:8000/accounts
上記のような結果が帰ってきてたらOKです。
これで、さくっとアプリケーションを作れました。まだ全然触れていませんが、イケてる雰囲気を既に感じている。