@hdtor

Как опмитизировать кусок кода PHP?

Написал самописный сайтик, вот сейчас начал оптимизировать кое где код, чтобы ускорить работу сайту.

Есть такой код:

$language = explode("/", $_SERVER['REQUEST_URI']);
$language = $language[1];

if($language == "ru") {
	$lang = "2";
	require_once(SYSTEM_DIR . "languages/lang_russian/lang_main.php");
} else {
	require_once(SYSTEM_DIR . "languages/lang_ukrainian/lang_main.php");
	$lang = "1";
}


Он узнает какой язык нужно отдать читателю. Как можно его оптимизировать?

Можно ли посадить эту часть кода на memache?
  • Вопрос задан
  • 355 просмотров
Пригласить эксперта
Ответы на вопрос 4
@IceJOKER
Web/Android developer
Вы издеваетесь что ли?
Оставьте этот код в покое, тоже нашлись мне мегаоптимизаторы.

Можно ли посадить эту часть кода на memache? - Можно, но не нужно
Ответ написан
@Silm
Выбранный пользователем язык храните в куках (не сам язык, конечно, а его метку), если без авторизации. Если с авторизацией, то можно и в БД записывать. Смотря чего хотите.

Но в любом случае какую то проверку или другую манипуляцию вам делать придется, для подключения определенного языка. Но не переживайте, на производительности это не отразится. Хоть 100 раз эту проверку делайте, не заметите разницы.

Оптимизировать надо настройки сервера, PHP, БД, кешировать результаты длительных вычислений и медленных запросов.

В коде, обращайте внимание на участки с перебором массивов, вложенными массивами. Именно там скорее всего может возникнуть проблема с производительностью.

Если вы ничего криминального в коде не делаете, запросы к БД быстрые, обращений к внешним ресурсам нет, но скорость работы сайта низкая, то скорее всего тормозит ваш сервер ввиду неправильной.
Ответ написан
Комментировать
dzheka3d
@dzheka3d
Если постоянно приходится проводить проверку и подключение файла - делайте так:
<?php
$language = explode("/", $_SERVER['REQUEST_URI']);
$language = $language[1];

if($language == "ru") {
	$_SESSION['lang'] = "2";
	$_SESSION['lang_file'] = "lang_russian";
} else {
	$_SESSION['lang'] = "2";
	$_SESSION['lang_file'] = "lang_ukrainian";
}

require_once(SYSTEM_DIR . "languages/".$_SESSION['lang_file']."/lang_main.php");
?>

А дальше вытаскивайте эти сессии и делов...
Ответ написан
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
99% проблем в производительности - это операции, связанные с БД, а тут же все ок с точки зрения производительности, а про логику это другой вопрос
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы