Open1
Laravel開発Tips
Modelに対してパラメータを渡すとき、下記のようにすると良い
HogeController.php
Hoge::fuga($name, $description, $image_url);
Hode.php
public function fuga(string $name, string $description, string $image_url)
{
self::update(
"name" => $name,
"description" => $description,
"image_url" => $image_url,
);
}
メリット
- 可読性の向上: 関数の引数が明示的であり、どのパラメータが渡されるかが一目瞭然です。
- 型安全: 関数の引数に型ヒントを付けることで、予期しない型によるエラーを防ぐことができます。
- 自動補完: IDEによるパラメータの自動補完が利用できるため、開発効率が向上します。
逆に下記のようにすると良くない
HogeController.php
Hoge::fuga($hogeArray);
Hode.php
public function fuga(?array $hogeArray)
{
self::update(
"name" => $hogeArray['name'] ?? null,
"description" => $hogeArray['description'] ?? null,
"image_url" => $hogeArray['image_url'] ?? null,
);
}
デメリット
- 可読性の低下: 配列内のキーが関数宣言から見えないため、関数がどのパラメータを期待しているかが明確ではありません。
- エラーの原因: 配列に期待したキーが存在しない場合、予期しないエラーが発生する可能性があります。キーの存在チェックを行う必要があり、コードが冗長になります。
- 自動補完が効かない: 配列のキーはIDEによる自動補完が効かないため、誤記のリスクが増えます。