В настоящее время я делаю это:
Запрос $_GET
$process = @$_GET['data_process']; $id = @$_GET['data_id']; $link = @$_GET['data_page'];
Запрос $_POST
$process = @$_POST['data_process']; $id = @$_POST['data_id']; $link = @$_POST['data_page'];
Хотя это выглядит беспорядочно для меня. Как я могу усовершенствовать этот процесс?
Вот что я делаю
function POST($key) { return isset($_POST[$key]) ? $_POST[$key] : null; } function GET($key) { return isset($_GET[$key]) ? $_GET[$key] : null; }
Простое использование
$process = GET('data_process'); $id = GET('data_id'); $link = GET('data_page'); $process = POST('data_process'); $id = POST('data_id'); $link = POST('data_page');
Изменить: таким образом вы можете легко назначить значение по умолчанию. Пример:
function POST($key,$default=null) { return isset($_POST[$key]) ? $_POST[$key] : $default; } $process = POST('p','defaultvalue');
@ да123 хотел больше здесь у вас есть.
$R = new REQUEST(); $process = $R['data_process']; $id = $R['data_id']; $link = $R['data_page'];
Используемый класс
class REQUEST implements \ArrayAccess { private $request = array(); public function __construct() { $this->request = $_REQUEST; } public function offsetSet($offset, $value) { if (is_null($offset)) { $this->request[] = $value; } else { $this->request[$offset] = $value; } } public function offsetExists($offset) { return isset($this->request[$offset]); } public function offsetUnset($offset) { unset($this->request[$offset]); } public function offsetGet($offset) { return isset($this->request[$offset]) ? $this->request[$offset] : null; } }
сclass REQUEST implements \ArrayAccess { private $request = array(); public function __construct() { $this->request = $_REQUEST; } public function offsetSet($offset, $value) { if (is_null($offset)) { $this->request[] = $value; } else { $this->request[$offset] = $value; } } public function offsetExists($offset) { return isset($this->request[$offset]); } public function offsetUnset($offset) { unset($this->request[$offset]); } public function offsetGet($offset) { return isset($this->request[$offset]) ? $this->request[$offset] : null; } }
Вы можете сделать что-то подобное, чтобы проверить переменную:
$id = isset($_GET['id']) ? (int)$_GET['id'] : '';
Не используйте @, чтобы скрыть уведомления. У вас должен быть чистый код.