- 1
- 2
- 3
- 4
- 5
- 6
- 7
public function getBrandId() {
if (key_exists("id", $_GET)) {
return $_GET['id'];
} else {
return false;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+150
public function getBrandId() {
if (key_exists("id", $_GET)) {
return $_GET['id'];
} else {
return false;
}
}
Писала значимая фигура студии, между прочим.
return isset($_GET['id']) ? $_GET['id'] : false;
тернарный оператор для того и придумали, чтобы не расписывать на несколько строчек элементарные действия.
можно согласиться, если внутрь вставлены какие-то вычисления или вложенные тернарные операторы, но здесь не тот случай...
Не надо показывать свою глупость
Во многих нормальных фреймворках такие операторы используются очень часто в столь примитивных потребностях
function variable_get($name, $default = NULL) {
global $conf;
return isset($conf[$name]) ? $conf[$name] : $default;
}
Прежде чем давать такой комментарий, его необходимо обосновать.
Разве что значение NULL
Но на кой черт оно надо? Если нужен ID товара? Тип int.
Но сам смысл функции "getBrandId"
Получить ID бренда.
Возвращаемое значение должно быть INT
На кой хрен нужен NULL? Тут и FALSE прекрасно подойдет!
Код нужно писать по потребностям, а не потому что там может быть NULL, который нахрен не нужен на выходе этой функции.
Тогда если судить по логике что там может быть NULL надо писать
if (key_exists("id", $_GET) && is_numeric($_GET['id']) && ((int)$_GET['id'] > 0)) {
return $_GET['id'];
} else {
return false;
}
А вдруг не нужно чтоб возвращало 0?
А Идентификатор бренда или FALSE
непонимание типизации
неуменье пользоваться фрейм-ворками
и вообше значимая фигура в мире ПХП равно дебил
if() return true; else if() return "ololo"; else if() return $arr; else if() return -1;
и в таком же духе. Это, очевидно, следствие злоупотребления объебосатами.
Что касается значимых фигур (ферзей штоле?), то, чаще всего, чем выше девелопер, тем больше у него моск рака.
даешь function ake()
php.net/array_key_exists
Что будет в foo?
ИМХО, довольно продуманный подход. С планами на будущее.
isset() вернет FALSE, если проверяемая переменная имеет значение NULL
С массивами это актуально
так что в данном случае замечание несущественно.
хотя в общем случае это надо учитывать,да
isset -> проверяет установку переменной
array_key_exists -> проверяет ключ массива
Не важно, что первый вариант короче. Нужно всегда использовать правильную функцию.
И да, из формы может прийти null. Если форма отправляется аяксом. А это очень часто происходит.
меня обычно empty устраивает (да, 0 и "" тоже неинтересны)