@kostik19972106

Оптимизация кода php?

$aut = new index;
$us = new userv;
$zs = new shop;
$login = $_SESSION['login'];
$pas = $_SESSION['pas'];
$idsam = $_POST["idsam"];
settype($idsam, 'integer');
$z = $aut->indetex($setconect,$login,$pas); // проверяем пользователя перед покупкой
$v = $aut->poisksam($setconect,$idsam); // тип затрат и сумма 
$chena1 = $aut->infsam["baks"];  
$chena2 = $aut->infsam["typm"];
$us->infuser($z,$setconect); // наличка профиля
$zol=$us->mas["zol"]; 
$baks=$us->mas["baks"];
if ($z) {
 if ($v) { // z id пользов v id  на сам
  if ($chena2 != "$") { // если не бакс начало
   if($zol >= $chena1) { // списываем монеты 
    $zs->spisanie($chena1,"-",$z,"zol",$setconect); // дае́м самоле́т
    $zs->addsam($idsam,$z,$setconect);
    echo "вы купили ".$aut->infsam["name"];
   } else { // если не хватило сообщаем об этом
    echo " нехватает монет" . ($sum = $chena1 - $zol);
   }
  } else { // если это баксты 
   if($baks >= $chena1) {
    $zs->spisanie($chena1,"-",$z,"baks",$setconect);
    $zs->addsam($idsam,$z,$setconect);
    echo "вы купили ".$aut->infsam["name"];
   } else { // если нехватило сообщаем 
    echo " нехватает $".$sum=$chena1-$baks;
   }
  }
 } else { / *если не бакс окончание */
  echo "самоле́та не существует "; 
 }
} else {
 echo "ошибка 402";
}

Это можно как то сократить или сделать более читабельно?
Инциализация класса index/userv/shop.
Запись переменных
$login = $_SESSION['login']; логин
$pas = $_SESSION['pas']; пароль
$idsam = $_POST["idsam"]; полученный индекс самоле́та
settype($idsam, 'integer'); инициализируем перемену как integer
$z = $aut->indetex($setconect,$login,$pas); вызываем функцию через класс index для индетефикации пользователя
$v = $aut->poisksam($setconect,$idsam); вызываем функцию для определения типа цены сама (true/false)
$chena1 = $aut->infsam["baks"]; записываем цену сама
$chena2 = $aut->infsam["typm"]; записываем тип сама
$us->infuser($z,$setconect); // деньги профиля смотрим через функцию класса userv
$zol=$us->mas["zol"]; записываем сколько монет у пользователя
$baks=$us->mas["baks"]; записываем сколько долларов у пользователя

if ($z) {// если пользователь не найден то выдае́м текст ошибка
if ($v) { // z id пользов а, id на сама
if ($chena2 != "$") { // если цена не бакссовая
if($zol >= $chena1) { // если монет хватает то списываем ,иначе сообщаем об этом
$zs->spisanie($chena1,"-",$z,"zol",$setconect); // дае́м самоле́т
$zs->addsam($idsam,$z,$setconect);
echo "вы купили ".$aut->infsam["name"];
} else { // если не хватило сообщаем об этом
echo " нехватает монет" . ($sum = $chena1 - $zol);
}
} else { // если это баксты
if($baks >= $chena1) {
$zs->spisanie($chena1,"-",$z,"baks",$setconect);
$zs->addsam($idsam,$z,$setconect);
echo "вы купили ".$aut->infsam["name"];
} else { // если нехватило сообщаем
echo " нехватает $".$sum=$chena1-$baks;
}
}
} else { / *если не бакс окончание */
echo "самоле́та не существует ";
}
} else {
echo "ошибка 402";
}
Это более подробно
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
Раз возник такой вопрос, возможно, настало время прочесть "Совершенный код" Макконнела. Приведенный код не требует оптимизации, стоит просто смыть.
Ответ написан
Delgus
@Delgus
Оптимизация кода php? ДА!
Это можно как то сократить или сделать более читабельно? МОЖНО!

Вложенные ифы - зло, непонятные названия переменных - зло! Вы забудете, что там происходит уже через неделю, а через полгода и подавно.
Есть такая модная движуха - сначала подумать, нарисовать схемку-алгоритм, а потом кодить. Это свежо и молодежно) Код это не все, он просто реализует нужную логику. В данном случае по коду даже не понять что вы хотели реализовать
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
12 авг. 2020, в 10:11
200 руб./за проект
12 авг. 2020, в 09:40
1000 руб./за проект
12 авг. 2020, в 08:19
5000 руб./за проект