Open7

PHP/Laravelを触る

KeitaUenishiKeitaUenishi

PHP関連

KeitaUenishiKeitaUenishi

「->」や「=>」の意味

アロー演算子 「->」

オブジェクトのプロパティにアクセスする際に使用する。
例えば以下のような HelloWorld クラスがあった場合、$obj = new HelloWorld();$objというインスタンスを作成し、$obj->greeting()でプロパティにアクセスすることができる。

class HelloWorld {
    // プロパティの宣言
    public $msg = 'Hello World!';

    // メソッドの宣言
    public function greeting() {
        echo $this->msg;

function call_greeting(){
  $obj = new HelloWorld();
  $obj->greeting();
}

call_greeting()

C#とかTypeScriptでいう「 . 」的な立ち位置と理解。

ダブルアロー演算子 「=>」

連想配列でkeyに対してvalueを指定する時に使う。

  $arr = [
    'key1' => 'val1',
    'key2' => 'val2',
    'key3' => 'val3'
  ];

  echo $arr['key1'];

TypeScriptでいう 「 : 」的な立ち位置と理解。

KeitaUenishiKeitaUenishi

Laravel関連

KeitaUenishiKeitaUenishi

artisanとは

「アルチザン or アーティザン」と呼ぶらしい

Laravelで使われるCLIで、ファイルの作成やデータベースのマイグレーションなど、さまざまな操作が実行できる。

APIの作成

docker compose run --rm backend php artisan make:model Thread --api -m

上記のようなコマンドを実行することで、
モデル: backend/src/app/Models/Thread.php
コントローラー: backend/src/app/Http/Controllers/ThreadControllers
マイグレーション: backend/src/database/migrations/****_**_**_******_create_threads_table.php

といったファイルが一気に作成される。

KeitaUenishiKeitaUenishi

Laravel Sail

Laravel Sail(セイル、帆、帆船)は、LaravelのデフォルトのDocker開発環境を操作するための軽量コマンドラインインターフェイスです。 Sailは、Dockerの経験がなくても、PHP、MySQL、Redisを使用してLaravelアプリケーションを構築するための優れた出発点を提供します。

https://readouble.com/laravel/9.x/ja/sail.html
Laravel公式が提供している機能で、内部的にdocker composeを利用し、簡単に開発環境が提供できる。
上記の通りDockerを使用しているため、Larabel Sailで環境構築するためにはDockerのインストールが必要となる。