|
|
|
| Представим, что есть код:
$test=isset($_POST['test']) ? $_POST['test'] : '';
То есть, этот метод позволяет записать переменную с post'а без ошибки. Можно конечно использовать $test=@$_POST['test']; , но как многие знают, @ довольно медленна, и вообще её рекомендуют не использовать. Глушить вывод ошибок вообще - не вариант, надо логгировать ошибки.
Вопрос - есть ли более краткий вариант для подобной проверки? Например, хотелось бы функцию типа: $test=if_isset($_POST['test'], ''); - если $_POST['test'] существует - вернуть его, иначе вернуть пустую строку. К сожалению, функции некорректно реагируют на то, если переменной не существует, и это также будет вызывать ошибки, если не использовать символ @.
Как можно сократить эту проверку? Или использовать @ и не любить себе мозг?;) | |
|
|
|
|
|
|
|
для: Akdmeh
(28.08.2010 в 12:39)
| | Вам нужна проверка короче этой $test=isset($_POST['test']) ? $_POST['test'] : ''; ?
А чем Вас этот вариант не устраивает? Ведь при помощи тернарного оператора и так сокращается код. И выполняет то, что Вы хотите получить, только не возвращает, а присваивает значение $_POST['test'] переменной $test, если такое значение существует или пустую строку. | |
|
|
|
|
|
|
|
для: Akdmeh
(28.08.2010 в 12:39)
| | Сделай так например:
<?php
class Input {
public static function GET($key){
return isset($_GET[$key]) ? $_GET[$key] : false;
}
public static function POST($key){
return isset($_POST[$key]) ? $_POST[$key] : false;
}
}
$test = Input::GET('test');
|
| |
|
|
|