0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Laravel】変数名は単数形と複数系を使い分ける

Posted at

プログラムを書く時、変数の名前をどうしようか迷う

例えば、DBから1件だけ取得して値を代入する時はどういう変数名にしようかとか。

結論

単数形->複数形への変換はStr::plural
複数形->単数形への変換はStr::singular
を使う
※私はこれらをコードの中で使うというより、事前にtinkerで確認することが多いです。

例えば、こんな時

  • DBから取得した「スタッフ」(複数存在)を変数に代入する
    • tinkerでStr::plural('staff')を実行すれば出てきますが、「staffs」という複数形は無いです。従って複数形でも変数名は「staff」になります。
// 単数形はstaff
$staff = Staff::find(1);

// 複数でもstaff
$staff = Staff::all();
  • 実は複数形な「media」
    • tinkerでStr::singular('media')を実行してみましょう。あら不思議。実は「media」は複数系で、単数形の場合は「medium」なのでした。メディアって有名な単語なので単数でも複数でもこちらを使ってしまいそうです。
// Modelクラス名が既にアウト
$media = Media::find(1);

// mediasという複数形は無い。(mediaが既に複数形を指している)
$medias = Media::all();

// こうするのが意味としては正しい。勿論、開発現場によってルールがあるとおもうので絶対正解というわけではないが。
$medium = Medium::find(1);
$media = Medium::all();

可読性あるコードを書くためにも、変数名には気を付けましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?