Когда мне нужно пройти перечисление в функции PHP, я люблю:перечислений в Параметры функции
public function my_function (MyEnum $second) {
switch ($second->get_value()) {
case MyEnum::foo:
....
}
....
}
class MyEnum {
const foo = 0;
const bar = 1;
private $value;
public function __construct ($value) {
$this->value = $value;
}
public function get_value() { return $this->value; }
}
и называют как:
my_function(new MyEnum(MyEnum::foo));
Должен ли я изменить свою функцию, чтобы написать my_function(MyEnum::foo);
?
Я продолжаю писать этот путь, потому что IDE показывают типы, когда автозаполнение вызова функции и php выбрасывают исключение, если вы используете другой тип в любом случае. Также он сглаживает процесс написания документации.
Итак, я думал, что у этого есть много преимуществ?
Но, возможно, письмо, поскольку последнее имеет другие преимущества или недостатки Я не знаю. Какими могут быть они?
Что такое точка прохождения '$ первых 'to' my_function() '? –
@MarkBaker нет точек, просто чтобы выглядеть естественным, я редактировал. – user544262772
Я действительно не понимаю, почему вы используете столько кода, чтобы juste возвращал постоянное значение, вы могли бы использовать: 'constant ('MyEnum ::'. $ Const);'. Он вернет значение данного $ const (так что вам не нужно использовать переключатель) – Snroki