Вы можете поместить членов класса в массив, чтобы вы могли перебирать их, не включая все остальные члены класса, например:
<?php
class Test
{
public $options = array
(
'firstname' => NULL,
'lastname' => NULL,
'ssn' => NULL,
'accesskey' => NULL,
);
public function __set($key, $val)
{
if (empty($val) === FALSE AND array_key_exists($key, $this->options))
{
$this->options[$key] = $val;
}
else
{
// Throw an exception
throw new Exception('Empty value');
}
return;
}
public processData()
{
doStuff();
}
}
В вашем коде есть ошибка, вы забыли синтаксис "function" для "processData".
Я также создал метод __set, который выдает ошибку, когда вы устанавливаете пустое значение. Например
<?php
$test = new Test;
try
{
// Throws an error
$test->firstname = NULL;
}
catch(Exception $e)
{
var_dump($e);
}
try
{
// Works fine
$test->firstname = 'Brian';
}
catch(Exception $e)
{
var_dump($e);
}