За последние 24 часа нас посетили 22659 программистов и 1005 роботов. Сейчас ищет 741 программист ...

Определение переменных вне запроса

Тема в разделе "Прочие вопросы по PHP", создана пользователем Вероломство, 12 мар 2021.

  1. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    PHP:
    1. try {
    2.  
    3.     if ($this->formButton('buy')) {
    4.         $unit_id = filter_input(INPUT_POST, 'unit_id');
    5.         $count = filter_input(INPUT_POST, 'count');
    6.  
    7.         UserUnit::buy($this->user, $unit_id, $count);
    8.  
    9.         $unit_count = $this->numericDeclension($count, ['единицу', 'единицы', 'единиц']);
    10.  
    11.         $this->alertMessage('success', "Вы купили {$unit_count} техники");
    12.     }
    13.  
    14.     if ($this->formButton('sell')) {
    15.         $unit_id = filter_input(INPUT_POST, 'unit_id');
    16.         $count = filter_input(INPUT_POST, 'count');
    17.  
    18.         UserUnit::sell($this->user, $unit_id, $count);
    19.  
    20.         $unit_count = $this->numericDeclension($count, ['единицу', 'единицы', 'единиц']);
    21.  
    22.         $this->alertMessage('success', "Вы продали {$unit_count} техники");
    23.     }
    24. } catch (Alert $alert) {
    25.     $this->alertMessage('danger', $alert->getMessage());
    26. }

    PHP:
    1. $unit_id = filter_input(INPUT_POST, 'unit_id');
    2. $count = filter_input(INPUT_POST, 'count');
    3. $unit_count = $this->numericDeclension($count, ['единицу', 'единицы', 'единиц']);
    4.  
    5. try {
    6.  
    7.     if ($this->formButton('buy')) {
    8.         UserUnit::buy($this->user, $unit_id, $count);
    9.  
    10.         $this->alertMessage('success', "Вы купили {$unit_count} техники");
    11.     }
    12.  
    13.     if ($this->formButton('sell')) {
    14.         UserUnit::sell($this->user, $unit_id, $count);
    15.  
    16.         $this->alertMessage('success', "Вы продали {$unit_count} техники");
    17.     }
    18. } catch (Alert $alert) {
    19.     $this->alertMessage('danger', $alert->getMessage());
    20. }

    Имеет ли какое-то критическое значение то, что в желаемом варианте переменные чекаются до отправки запросов?
     
  2. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    858
    Симпатии:
    132
    А зачем они там, где их не должно быть?
     
  3. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    не должно быть ГДЕ?
     
  4. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    858
    Симпатии:
    132
    Например, форма не отправлена POST-ом, а переменные инициализируются.
     
  5. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    ну ты же проверяешь авторизован или нет пользователь: пользователь не авторизован, но ты ведь делаешь запрос к БД, чтобы это проверить? :)

    я уже определился по этому вопросу
     
  6. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    858
    Симпатии:
    132
    Авторизация в сессии живёт, если нет экшена на авторизацию или пользователь уже авторизован, никто не будет делать лишний запрос в БД.
     
  7. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    какая разница где что живёт ты же проверку делаешь: живёт или не живёт

    так и тут, если нет POST запроса, переменные false будут

    И ВСЁ, больше ничего не произойдёт и фреймворк устанавливать не надо и шаблонизатор не нужен и не нужно тесты писать и не нужно даже проверять false переменная или нет, потому что нет POST-запроса и переменные со значением false абсолютно никому не мешают и не прописаны по десять раз
     
  8. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    858
    Симпатии:
    132
    И ВСЁ, больше ничего не произойдёт и фреймворк устанавливать не надо и шаблонизатор не нужен и не нужно тесты писать и не нужно даже проверять false переменная или нет, потому что нет POST-запроса и переменные со значением false абсолютно никому не мешают и не прописаны по десять раз[/QUOTE]
    Зачем было вопрос задавать тогда? И при чём здесь фреймворк с шаблонизатором, становится совсем непонятно )
     
  9. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    Зачем было вопрос задавать тогда? И при чём здесь фреймворк с шаблонизатором, становится совсем непонятно )[/QUOTE]

    чтобы ты походил по всем моим вопросам и везде сунул свои бессмысленные пять копеек :)