PHP/Laravelを触る
PHP関連
「->」や「=>」の意味
アロー演算子 「->」
オブジェクトのプロパティにアクセスする際に使用する。
例えば以下のような 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でいう 「 : 」的な立ち位置と理解。
スコープ定義演算子 「 :: 」
インスタンス化していないクラスに対して、直接staticなメソッドやプロパティにアクセスする場合に使う。
今回はざっくり上記の理解で詳細は割愛
「遅延静的束縛とは?」
Laravel関連
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
といったファイルが一気に作成される。
Laravel Sail
Laravel Sail(セイル、帆、帆船)は、LaravelのデフォルトのDocker開発環境を操作するための軽量コマンドラインインターフェイスです。 Sailは、Dockerの経験がなくても、PHP、MySQL、Redisを使用してLaravelアプリケーションを構築するための優れた出発点を提供します。
上記の通りDockerを使用しているため、Larabel Sailで環境構築するためにはDockerのインストールが必要となる。
Laravelでの命名規則
テーブル名は「スネークケース」で「複数形」
モデル名は「アッパーキャメル」で「単数系」
デフォルトでseedコマンドを使用しようとすると、この命名規則に則っていないとエラーが吐かれることがある。