定义 Enum
1 |
|
在模型(Model)中转换属性(Casting)
1 |
|
这意味着您可以与枚举实例交互,而不仅仅是与数据库中的字符串值交互,还可以访问enums方法。我们稍后再谈。
对这句话这意味着您可以与枚举实例交互,而不仅仅是与数据库中的字符串值交互的示例:
1 | $profile = new SocialProfile() |
如果不这么做,那么代码则要这么写:
1 | $profile = new SocialProfile() |
验证 Enum
1 | use App\Enums\SocialNetwork; |
根据 Enum 存储附加信息
除了定义选项外,枚举还允许使用其他方法。您甚至可以在方法中使用枚举。
我想要一种存储每个枚举选项的有效域名的方法,所以我创建了一个使用枚举值的匹配语句,并返回了一个有效域名数组。
1 |
|
另一个有用的地方是,如果我将来需要添加一个新的社交网络,我只有一个地方可以添加定义和域。我可以很容易地在枚举中添加 Instagram 作为选项,无论我在哪里使用枚举,代码都应该更新。
在自定义验证规则中使用枚举(Enum)
1 |
|
从 url 获取社交网络
1 | use Illuminate\Support\Str; |
原文 Using PHP Enums in Laravel to store additional information