kmmkの雑種系日記

学習まとめです。

Laravel Webアプリケーション 【環境構築とルーティング】

www.amazon.co.jp

1 Laravel とは

色々書いてる

1.2 環境構築

Laravel が動作する開発環境を簡単に構築できるツールは大きく分けて2つ

・homestead  ・色々セットになってる(PHP/nginx/Webサーバ,MySQLなど)

・laradock  ・標準では、PHP/nginx/MySQLが使用できて必要に応じて設定ファイルに手を加えてカスタマイズしていく

環境構築(Laradock)

好きなディレクトリでクローン

git clone https://github.com/Laradock/laradock.git

laradockディレクトリに移動後、.envファイルを作成(laradockの環境設定ファイル的なもの)

cp env-example .env

途中でdocker-composeが全く反応しなくなった。。

バージョンさえも見れない。。

docs.docker.jp

これを参考にした。結果直った!

$ curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

$ chmod +x /usr/local/bin/docker-compose

$ docker-compose --version
->1.11.1

プロジェクトの作成

$ docker-compose up -d nginx mysql workspace phpmyadmin

$ docker-compose exec --user=laradock workspace bash

$ composer create-project laravel/laravel sampleapp --prefer-dist "5.5.*"

再起動

$ docker-compose stop

$ docker-compose up -d nginx mysql

1.3.2 welcomページの処理

クライアントからのリクエストに対して

public/index.php(エントリポイント)

・Laracelの各処理への入り口

-> routes/web.php(ルーティング)

-> welcom.blade.php(ビューテンプレート)

・@ / ifなどが含まれているのはテンプレートエンジン

1.3.3 ルーティングの設定

routes/web.php

Route::get('/home',function(){
    return view('home');
});

resources/home.blade.phpを作成

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    homeです。
</body>
</html>

これでルーティング完了

1.3.4 テストコード

web業界では最初にテストコードを作ることが多いらしい。

テストファイルの作成(tests/Feature/HomeTest.php

$ php artisan make:test HomeTest