07.04.2019 11:26:19 am
Здравствуйте!
По тестам Яндекса (https://webmaster.yandex.ru/tools/server-response/) выяснил, что мой самопальный сайт долго генерирует страницу, надо эту проблему, как-то решать. Начать хочу с оптимизации php кода. Вот есть у меня такая функция:
Покажите, как можно ее оптимизировать для быстродействия?
Заранее спасибо.
По тестам Яндекса (https://webmaster.yandex.ru/tools/server-response/) выяснил, что мой самопальный сайт долго генерирует страницу, надо эту проблему, как-то решать. Начать хочу с оптимизации php кода. Вот есть у меня такая функция:
public function check($string)
{
$options = array('admin', 'percent', 'edge', 'spam', 'user');
if (empty($string))
{
return '';
}
if (in_array($string, $options))
{
return true;
}
else
{
return false;
}
}
Покажите, как можно ее оптимизировать для быстродействия?
Заранее спасибо.
- Жалоба
07.04.2019 12:41:50 pm
Тут, собственно, оптимизировать нечего... Разве что, проверку на пустоту ставить перед массивом
Я бы так сделал:
Еще можно не запихивать массив в переменную, а сразу в функцию:
$options
, чтобы не создавать лишний раз массив, на случай, если переменная $string
пустая.Я бы так сделал:
public function check($string)
{
if (empty($string))
{
return '';
}
$options = array('admin', 'percent', 'edge', 'spam', 'user');
if (in_array($string, $options))
{
return true;
}
return false;
}
Еще можно не запихивать массив в переменную, а сразу в функцию:
if (in_array($string, array('admin', 'percent', 'edge', 'spam', 'user')))
{
return true;
}
07.04.2019 03:20:00 pm
А зачем вообще может потребоваться возвращать пустую строку, если переменная пуста?:
Вот оптимизированный вариант:
if (empty($string))
{
return '';
}
Вот оптимизированный вариант:
public function check($string)
{
if (isset($string) && in_array($string, array('admin', 'percent', 'edge', 'spam', 'user')))
{
return true;
}
return false;
}