1. PHP / Говнокод #26842

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    while (true) {
      if ($current === $requested) {
         break;
      }
      if (! in_array($requested, $available)) {
         break;
      }
      session()->put('locale', $requested);
      break;
    }

    Запостил: Edd, 05 Августа 2020

    Комментарии (10) RSS

    • Лучше do { } while(false) использовать.
      Ответить
    • Нямка.

      Хотя позволяет избавиться от goto, от вложенных ифов, от лишних флагов...
      Ответить
    • foreach ([0] as $_) {}
      Ответить
      • function pituh() {
            ...
              if ($current === $requested) {
                 yield;
              }
              if (! in_array($requested, $available)) {
                 yield;
              }
              session()->put('locale', $requested);
              yield;
        }
        
        ...
        
        foreach (pituh() as $_) {}
        Ответить
        • Или даже так:
          $pituh = function() use(&$current, &$requested, &$available) {
              ...
                if ($current === $requested) {
                   yield;
                }
                if (! in_array($requested, $available)) {
                   yield;
                }
                session()->put('locale', $requested);
                yield;
          }
          
          ...
          
          foreach ($pituh() as $_) {}
          Ответить
        • вы охуенные
          Ответить
          • Стоп! У меня говно получилось. Надо же остановить цикл сразу после первого yield:
            foreach (pituh() as $_) {break;}

            Вот теперь всё прекрасно.
            Ответить

    Добавить комментарий