Я не совсем уверен, как это сделать. У меня есть объект, и я хочу установить для него свойство type, но перед тем, как сделать это, я хочу проверить, чтобы убедиться, что это допустимый тип.
Я подумал, что сейчас самое время использовать константы, поскольку имена типов не изменятся (и я не хочу, чтобы они были).
// this is just a sample of what I was thinking:
class Foobar
{
const TYPE_1 = 'type 1';
protected $_types = array(
self::TYPE_1
);
public function setType($value)
{
// check to make sure value is a valid type
// I'm thinking it should be able to accept
// Foobar::TYPE_1, 'TYPE_1', or 'type 1'
// for flexibility sake. But I don't know
}
}
$foobar = new Foobar();
$foobar->setType('TYPE_1'); //what should go here? (best practice)
Обновление: Я решил, что мне на самом деле не нужно использовать константы, но я принял ответ, который, я думаю, мог бы выполнить работу.