나는 다음과 같은 코드를 사용하여 피곤 :isset()을 사용하지 않고 신속하게 판단하고 할당하는 방법은 무엇입니까?
$blog = isset($_GET['blog']) ? $_GET['blog'] : 'default';
하지만 난 사용할 수 없습니다
$blog = $_GET['blog'] || 'default';
isset()
를 사용하지 않고이 작업을 수행 할 수있는 방법이 있습니까?
나는 다음과 같은 코드를 사용하여 피곤 :isset()을 사용하지 않고 신속하게 판단하고 할당하는 방법은 무엇입니까?
$blog = isset($_GET['blog']) ? $_GET['blog'] : 'default';
하지만 난 사용할 수 없습니다
$blog = $_GET['blog'] || 'default';
isset()
를 사용하지 않고이 작업을 수행 할 수있는 방법이 있습니까?
// Uses $_GET['user'] if it exists -- or 'nobody' if it doesn't
$username = $_GET['user'] ?? 'nobody';
// Loads some data from the model and falls back on a default value
$model = Model::get($id) ?? $default_model;
Man, 곧 출시 될 Null Coalesce 연산자는 PHP가 수년간 얻은 가장 흥미로운 기능입니다. –
정말 멋진 기능입니다. – Ghost
이 코드를 더 짧게 만들 수 있습니다.'$ u = $ _ GET [ 'u'] ?? '엔'; $ m = 모델 :: get ($ id) ?? $ 01_m;'lol –
는 도우미 함수를 작성 얻기 위해 PHP의 다음 버전을 기다려야한다.
function arrayValue($array, $key, $default = null)
{
return isset($array[$key]) ? $array[$key] : $default;
}
사용법 :
$blog = arrayValue($_GET, 'blog');
이 아니보다 더 짧은 방법이 없습니다. $ _POST 및 $ _GET 변수를 처리하는 클래스를 만들 수 있으며 블로그를 호출 할 때마다 해당 변수를 사용자 만 사용할 수 있습니다.
예 :
$ blog = Input :: put ("blog");
입력 클래스에는 입력이 $ _POST 및 $ _GET 또는 Null 값을 가질 때 결정하는 정적 메서드가 있습니다.
당신은 단지 사용자 지정 도우미 쓸 수 있습니다 : 또는
function get($name, $default=null){
return isset($_GET[$name]) ? $_GET[$name] : $default;
}
$blog = get('blog', 'default');
을, 당신은 filter extension이, 예를 들면 :
$blog = filter_input(INPUT_GET, 'blog') ?: 'default';
그것은하지 띄게 짧아입니다하지만 더 검증 및 sanitisation 수 있습니다 (그리고 그것은 또한 사소한 사용자 정의 함수에서 랩핑).
Psst - 당신이 내게서 그걸 듣지 못했지만, 당신이'null'을 할당하려고하고 최선의 관행을 깨뜨리지 않는다면, 그 통지를 억제하고'$ blog = @ $ _GET [ 'blog'];'_ [그림자로 되돌아 간다 ...] _ –
^^^ 실제로 나는 이것을하지 않을 것입니다. –