Совсем недавно состоялся релиз минорной версии 5.2.22 нашего любимого фреймворка Laravel. Наряду с некоторыми небольшими исправлениями, есть несколько новых функций, давайте посмотрим на них.


1. Проверка уникальности массива


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

Validator::make(
      ['products' =>
        ['product_id' => 1, 'quantity' => 5],
        ['product_id' => 1, 'quantity' => 99],
        ['product_id' => 2, 'quantity' => 1],
      ],
      ['products.*.product_id' => 'distinct']
    );


Эта валидация не пройдет, потому что есть несколько products с одинаковым значением product_id.

2. fullUrlWithQuery()


Многим, наверное, приходилось формировать урл на основе текущего, с добавлением GET параметров. Теперь все просто: берете текущий запрос и добавляете массив к нему. Вот пример — скажем, ваш текущий URL является domain.com/catalog из него надо получить новый URL, типа domain.com/catalog?category=1&order=price:

$request->fullUrlWithQuery(['category' => '1', 'order' => 'price']);


Вуаля!

3. Blade: continue и break


Теперь в цикле foreach, можно прерваться или продолжить в зависимости от условия:

@foreach ($products as $product)
      @continue($product->category_id == 999)
      {{ $product->name }}: <b>{{ $product->price }}</b>
      @break($product->price >= 199)
    @endforeach


На сегодня все!
Всем удачи в проектах. Да пребудет с вами сила Laravel.

Комментарии (3)


  1. kai
    06.03.2016 03:33

    Судя по комментариям и кол-ву вакансий, фреймворк не очень популярен в российских массах


    1. Rencom
      06.03.2016 11:13

      Есть такое дело, русскоязычное сообщество в зачаточном состоянии. Попробуем это исправить )


    1. Helldar
      12.03.2016 20:25
      +1

      На западе он очень популярен.
      В российском же сегменте интерес больше к Yii направлен.