Rozważmy następujący (uproszczony do gołych kości):PHP Ternary Operator sprawdza czy zmienna zawiera coś?
abstract class Validator {
public function __construct($data = null)
{
$this->data = $data ?: Input::all();
}
}
$validation = new PageValidator($data);
„Wejście :: wszystko” wraca tablicę. $ data jest także tablicą.
Bit walczę o to:
$this->data = $data ?: Input::all();
myślę, że jest to w zasadzie robi:
if(!$data) {
$this->data = Input::all();
} else {
$this->data = $data;
};
Ale ja naprawdę nie rozumiem w jaki sposób?
Tak, to właśnie robi, jeśli używasz PHP 5.3 lub nowszego. Jeśli używasz PHP <5.3, musisz napisać '$ this-> data = $ data? $ data: Input :: all(); '. – Crontab