DOCKERでPHP+DB+LARAVELを構成してみる(前回の続き)

DockerでPHP+DB+Laravelを構成してみる | 自分、ぼっちですが何か? (taki-lab.site)

前回までできていればDockerコンテナを立ち上げられるはず。

VSCodeを立ち上げて左下のボタンから「Reopen in Container」をクリック。

VSCodeのプロンプトを開くとDocker内のプロンプトになっていると思うので、これからLaravelのセットアップを行います。

> composer create-project laravel/laravel sample --prefer-dist

DBの設定を行います。

.envの編集

DB_CONNECTION=mysql
DB_HOST=laravel1_db
DB_PORT=3306
DB_DATABASE=my
DB_USERNAME=my
DB_PASSWORD=my

config/logging.phpの編集

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['single', 'stderr'],
            'ignore_exceptions' => false,
        ],

モデルの作成

> php artisan make:model Book

コントローラーの作成

> php artisan make:controller BookController

app/Http/Controllers/BookController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\Book;

class BookController extends Controller
{
    //
    public function index()
    {
        $data = [
            'books' => Book::all()
        ];

        Log::debug('デバッグ用。$dataの内容です。');
        Log::debug($data);

        return view('book.index', $data);
    }
}

ビューの作成

resources/views/book/index.blade.php

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charaset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
  </head>
  <body>
    <table border="1">
      @foreach($books as $book)
      <tr>
        <td>{{ $book->id }}</td>
        <td>{{ $book->title }}</td>
        <td>{{ $book->insert_timestamp }}</td>
      </tr>
      @endforeach
    </table>
  </body>
</html>

ルーティングの設定

routes/web.php

Route::get('/books', 'App\Http\Controllers\BookController@index');

xdebugのエラー対策

app/Http/Middleware/EncryptCookies.php

<?php

namespace App\Http\Middleware;

use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;

class EncryptCookies extends Middleware
{
    /**
     * The names of the cookies that should not be encrypted.
     *
     * @var array<int, string>
     */
    protected $except = [
        'XDEBUG_SESSION'
    ];
}

動作確認

> php artisan serve

ブラウザでhttp://172.0.0.1:8001/bookへアクセスする。

ITニュース(05/01)

Google Chromeの秘密兵器!知らなきゃ損する隠れた機能5選【今日のワークハック】 – Lifehacker JAPAN

1台のPCの“その後”を決定づけた名作「テグザー」。現代でも色あせない魅力を持つ同タイトルも今年で38周年! – GAME Watch

WF-1000XM5と既存製品のLE Audio対応発表か〜5/8にイベント開催 – iPhone Mania

ChatGPT(チャットGPT)などAIの開発・規制で各国が一致できるかが焦点 G7デジタル・技術大臣会合 – au Webポータル

噂:iPhone 15 Pro Max、最上位モデルの価格が限界突破するかも。宝石埋め込まれていてもおかしくないレベル – すまほん!! – すまほん!!

「気が付いたら突っ込んでいた」携帯ショップに乗用車突っ込む…「大きな揺れとドーンという音が…」ケガ人なし (23/04/29 18:20) – 北海道ニュースUHB

Apple Watch、iPad、AirPodsも安くなってる!狙っている人はこのサプライズセールで揃えよう【Amazonセール】 – GIZMODO JAPAN

Googleの折りたたみスマホ「Pixel Fold」のさらなるリーク画像が流出 – GIGAZINE(ギガジン)

ロシア併合のクリミアで石油施設が大規模火災 ドローン攻撃か ウクライナ側は否定[2023/04/29 15:52] – テレビ朝日

“年収1000万円エンジニア”になれる初心者が「最初にすること」はこれだ – TechTargetジャパン

Xiaomi Smart Band 7が5445円! 人気のスマートバンドが特選タイムセール中 – こまめブログ

Androidタブレットの中古品が5980円、ChromeBook未使用品などもあり!じゃんぱらのGWセール – AKIBA PC Hotline!

ゲーマー向けPC「XENOVA GAMING PC」の新製品が発表に。ミドルクラス市場向けモデルのラインナップを拡充 – 4Gamer.net

「Skyrim VR」に「ChatGPT」を導入するMODが現在開発中 NPCが幅広く喋るようになる – Mogura VR

SSDの価格下落止まらず!遂に2TB SSDが8980円に、1TB NVMe SSDは4980円 – AKIBA PC Hotline!

目立つサンゴカラーはいかが? うわさの「Pixel 7a」に新色追加か – GIZMODO JAPAN

「d払い」に決済音を導入 アリ? ナシ?:Mobile Weekly Top10 – ITmedia Mobile – ITmedia Mobile

協力型ホラーFPS『GTFO』:大型無料アップデートで12の新コンテンツ追加(30%オフセール開催中) – EAA!! FPS News

ドコモに聞く「パケ詰まり」の要因と対策 5Gエリア拡大の前にすべきこと:石野純也のMobile Eye(1/3 ページ) – ITmedia Mobile – ITmedia Mobile

Nintendo Switchが9900円から!動作確認もOKなジャンク品が大量入荷 – AKIBA PC Hotline!

経済ニュース(05/01)

大型連休のJR予約、コロナ前の9割まで回復…JTB「海外旅行者は前年の4倍に」 – 読売新聞オンライン

旅行予約サイト『アゴダ』 日本の旅館を変える~集客数アップの戦略とは~【Bizスクエア】|TBS NEWS DIG – TBS NEWS DIG Powered by JNN

植田総裁 初の日銀金融政策決定会合~これまでの金融政策との違いは?~【Bizスクエア】|TBS NEWS DIG – TBS NEWS DIG Powered by JNN

ものづくりとAI 高専生が社会課題解決を提案するコンテスト – nhk.or.jp

ドアミラー解禁から40年! それでもフェンダーミラーじゃなきゃダメな国産スポーツ5選 – ベストカーWeb

分断続く立民・国民 遠ざかる連合の「二大政党的体制」 – 産経ニュース

コロナ禍前のにぎわいへ GWスタート、各地で混雑 | 共同通信 – 共同通信

「荷台が伸びる!」 “斬新発想”の軽トラに車中泊ユーザーも熱い視線!? 市販化望む声多い「ハイゼット トラック」の特徴とは – くるまのニュース

GW初日 全国各地 観光客でにぎわう 人出“コロナ禍”前に – FNNプライムオンライン

シリコンバレー銀破綻、金融当局は「脆弱性を理解せず」…FRBが100ページ超の報告書 – 読売新聞オンライン

日本の部長は「タイより年収が低い」の衝撃的事実 – 東洋経済オンライン

来週の相場で注目すべき3つのポイント:米ISM景気指数、米FOMC、米雇用統計 – Yahoo!ファイナンス

EU、生成AIに表示義務づけへ 政策トップ「技術規制役立たない」:朝日新聞デジタル – 朝日新聞デジタル

中国の半導体産業協会、日本の輸出規制に反対 – 産経ニュース

マツダ、ロータリーエンジン復活 電動化、象徴技術に活路 | 共同通信 – 共同通信

茨城県境町に移転した「citywaveTokyo」が4/29よりついにグランドオープン – THE SURF NEWS「サーフニュース」

巨額赤字の九州電力、業績回復へ原発フル活用方針…ウクライナ問題長期化、燃料価格不透明 – 読売新聞オンライン

ダイハツ海外向け車両で不正 トヨタのブランド車も(2023年4月28日) – ANNnewsCH

金価格が過去最高を更新 円安で1グラム9644円 – 産経ニュース

Zen3+のRyzen 7035U搭載で8万円台から! HP Pavilion Aero 13 2023年モデルがGWセール中 – こまめブログ