PHP/MySQL | Сильно ли нагружают условия в PHP?
Короче, есть чат-бот, хотелось бы не делать лишнего в коде, и решил добавить в код там где подключение к базе условие на вызываемую команду, так вот, если в условии будет около 35 команд, то есть if($command[0] == 'помощь' OR $command[0] == 'профиль' и т.д.) это всё будет нагружать и замедлять выполнение?
________
посл. ред. 09.01.2020 в 13:13; всего 2 раз(а); by ExcLuSiVe
________
посл. ред. 09.01.2020 в 13:13; всего 2 раз(а); by ExcLuSiVe
Или получается, что сами условия и будут в коде лишним?

DELETED
9 января 2020, в 13:26
Delete
Попробуй с массивом использовать if
$jil = ('Профиль','Помощь'..);
Далее сделать поиск по массиву и выдать
if($command[0]==$search[$jil]
Примерно так либо через switch использовать
Вообще как таково за нагрузку в данном случае можешь не париться 
Запускай на 7+ версии с обкешем и все

Запускай на 7+ версии с обкешем и все

Но насчет ифов согласен, что их слишком много, тогда лучше использовать массив с перечнем и брать результат in_array для сверки 
А для лучшего роутинга вообще можно обойтись одним ифом, а в массиве назначить нужные экшены для выполнение действия
$a=[
"command"=>"action"
];
if(in_array($command,$a)){
$obj->$a[$command]();
}
________
посл. ред. 09.01.2020 в 13:30; всего 2 раз(а); by System

А для лучшего роутинга вообще можно обойтись одним ифом, а в массиве назначить нужные экшены для выполнение действия
$a=[
"command"=>"action"
];
if(in_array($command,$a)){
$obj->$a[$command]();
}
________
посл. ред. 09.01.2020 в 13:30; всего 2 раз(а); by System
А switch чем не вариант?
Зачем? У тебя есть key-value коллекция, в ключ заноси имя команды, в значение - её обработчик.
________
посл. ред. 09.01.2020 в 13:39; всего 1 раз(а); by monobogdan
$a = array("профиль" => function() { return 0; });
...
if(isset($a[$b]))
$a[$b]();
else
echo "Команда не найдена";
________
посл. ред. 09.01.2020 в 13:39; всего 1 раз(а); by monobogdan
ExcLuSiVe, Если сомниваешь будет ли грузить тот или иной кусок кода, то просто проверь
$start_time = microtime(true);
for($i = 1; $i <= 1000; $i++){
//тут твой код
}
round(microtime(true) - $start_time,4)
TuT (09.01.2020 в 13:39)
ExcLuSiVe, Если сомниваешь будет ли грузить тот или иной кусок кода, то просто проверь
ExcLuSiVe, Если сомниваешь будет ли грузить тот или иной кусок кода, то просто проверь
$start_time = microtime(true);
for($i = 1; $i <= 1000; $i++){
//тут твой код
}
round(microtime(true) - $start_time,4)
Ну да, нафига дебаггеры нужны.
monobogdan (09.01.2020 в 13:41)
Ну да, нафига дебаггеры нужны.
Ну да, нафига дебаггеры нужны.
Конечно нафиг

Стр.: 1, 2