scvmm 发表于 2018-12-20 11:08:28

PHP枚举类型的问题

  PHP没有枚举类型,这样会带来很多不方便的地方。比如一个函数的输入参数,希望限制在一个枚举的范围内,结果只能用int或者string来代替,不仅多出很多判断,抛异常的语句,而且看起来很不优雅。如果一定要想点儿办法代替的话,也只能用类的常量成员来模拟,比如:

[*]  class DayOfWeek
[*]  {
[*]  const Sunday = 0;
[*]  const Monday = 1;
[*]  }
  不过也还是不方便,比如要用做一个参数:

[*]  function PrintWeekDay($day)
[*]  {
[*]  print $day;
[*]  }
  如果是强类型的枚举,那么这里可以定死声明$day必须是枚举里的一项,结果此处却无法限制为DayOfWeek的成员,说白了还是一个不严格的约定。
  成都达内IT培训,中国IT教育领导品牌,0首付,先就业,后付款, 是你进入世界500强企业的基石!
  成都达内网站:http://www.sctarena.com
  电话:400-850-6686
  QQ:396637598

页: [1]
查看完整版本: PHP枚举类型的问题