- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
public function isValidModule($module)
{
if (!is_string($module)) {
return false;
}
$module = strtolower($module);
$controllerDir = $this->getControllerDirectory();
foreach (array_keys($controllerDir) as $moduleName) {
if ($module == strtolower($moduleName)) {
return true;
}
}
return false;
}
инфа от разработчиков
увы, но скорее всего в ГК((((
Вам нравится зеленый цвет? Или поиск от google?
А с чего сударь изволит интересоваться моей персоной, даколи не секрет?
Все проще. Я не понял, что такое "Hacu Pakasy", думал, гугл подскажет. Гугл подсказал только вот это
Я на него хоть молиться готов
Дама пик...
насрака, хрен ли тут гуглевать
вы тоже это увидели!
по мне так достаточно примерно так (только к glob еще и путь к папке передать:
return is_string($moduleName) && glob(strtolower($moduleName)) !== false;
на крайняк есть функция поиска в массиве, что проще чем его перебирать
тождественно равно
а в контексте задачи и вообще уместным будет:
Следует отметить что в контексте задачи работоспособны оба варианта, но если ключи могут быть инициализированы значением null и такое значение является в рамках задачи валидным то isset отпадает.
То есть если нагадили "специально" это не ГК? Я правильно вас понял?
И в любом случае мы с Вами обсуждаем лишь данный метод с конкретным набором входных данных (уж какие есть), а не фреймворк вцелом.
Без контекста - код нормальный и оптимизировать его не получится.
склероз.
пост мой.
И кстати логичнее было бы вместо false в начале и false в конце функции запихнуть все в условия. Получилось бы несколько более гармонично: одно true внутри вложенных блоков условий и false в конце функции если все плохо.
Да, можно применять функции для работы с массивами, чтобы получить все ключи, привести их к нижнему регистру и выполнить in_array, но первоначальный вариант оптимальнее: возможно нам не придётся все модули приводить к нижнему регистру, а вернем true после первой же итерации.
Что же касается данного метода, который Вы привели, я надеюсь мы с Вами пришли к согласию: в условиях таких входных данных это достаточно оптимальный вариант и в принципе не говнокод :)
Ну почему же. Я не пишу на этом "прекрасном фреймворке" как вы сказали. Однако иногда приходится вляпываться.
ли фича где-то используемая
Эта фича называется не иначе как говнокод.
Что же касается данного метода, который Вы привели, я надеюсь мы с Вами пришли к согласию: в условиях таких входных данных это достаточно оптимальный вариант и в принципе не говнокод :)
Именно говнокод. Так получается - говнокод в одном месте плодит тоны говнокода в другом. То что этот говнокод является частью "великого" Зенда - сути не меняет.
Если есть желание проверить оптимальность - можете заняться на досуге.