#マジックナンバーとは
プログラムにおけるマジックナンバー(英: magic number、魔法の数字)とは、何らかの識別子もしくは定数として用いられる、プログラムのソースコード中に書かれた具体的な数値である。
ex)
UserController
public function store()
{
User::create(['user_type' => 1);
}
あとあと1ってなによ?となる
#解決方法
#1 定数
クラス定数として定義しておいて、使いたいところで呼び出す
User
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $fillable = [
'user_type',
];
const ADMIN = 1;
const NORMAL = 2;
const ZAKO = 3;
}
UserController
public function store()
{
User::create(['user_type' => User::ADMIN);
}
##Enum
列挙型
PHPにはないので、パッケージなりで導入
色々あるので用途に合うやつ選択
数が多いならこっちがよさげ...?
composer require bensampo/laravel-enum
<?php
namespace App\Enums;
use BenSampo\Enum\Enum;
final class UserType extends Enum
{
const Admin = 1;
const Normal = 2;
const Zako = 3;
}
UserController
public function store()
{
User::create(['user_type' => UserType::Admin);
}
##Config
usertype.php
<?php
return [
'Admin' => 1,
'Normal' => 2,
'Zako' => 3,
];
UserController
public function store()
{
User::create(['user_type' => config('usertype.Admin')]);
}
不備、より良い方法有りましたら教えていただけますと助かります