daha iyi bir yöntem isteği verileri denetleme detayları uzak soyut bir singleton / statik bir sınıf oluşturmak için olabilir.
Gibi bir şey:
class Request {
private $defaults = array();
private static $_instance = false;
function getInstance () {
if (!self::$_instance) {
$c = __CLASS__;
self::$_instance = new $c;
}
return self::$_instance;
}
function setDefaults($defaults) {
$this->defaults = $defaults;
}
public function __get($field) {
if (isset($_REQUEST[$field]) && !empty($_REQUEST[$field])) {
return $_REQUEST['field'];
} elseif (isset($this->defaults[$field])) {
return $this->defaults[$field];
} else {
return ''; # define a default value here.
}
}
}
Sonra yapabilirsiniz:
# get an instance of the request
$request = Request::getInstance();
# pass in defaults.
$request->setDefaults(array('name'=>'Please Specify'));
# access properties
echo $request->name;
echo $request->email;
Bu sizin bireysel komut yükler temiz yapar ve doğrulama vb uzakta soyutlayan Plus, bu tasarım ile kapsam yükleri vs vs işleme daha karmaşık varsayılan ekleyin, alternatif davranışları ekleme / genişletmek için düşünüyorum