Может войдёшь?
Черновики Написать статью Профиль

Статьи odd_bod

Знакомство с Mailables в Laravel 5.3

перевод новое в 5.3

Долгое время отправка писем в Laravel была не очень удобной в сравнении с относительно простым API большинства других функций Laravel. Вот пример отправки письма из документации Laravel 5.2:

PHP
Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) {
    
$m->from('hello@app.com''Ваше приложение');

    
$m->to($user->email$user->name)->subject('Ваше напоминание!');
});

Знакомство с Laravel Scout

перевод новое в 5.3

За последние несколько лет в сообществе Laravel приобрели большую популярность поисковые инструменты ElasticSearch и Algolia — мощные средства для индексирования и поиска ваших данных. Бен Корлет проделал невероятную работу, представив ElasticSearch на Laracon Eu 2014, а я написал запрос на включение в Laravel написанного мной индексирования для документов на основе ElasticSearch в 2015 году. Но перед тем, как мой запрос был одобрен, люди из Algolia взяли мой код и переделали его на основе Algolia (она быстрее, и у неё лучше пользовательский интерфейс!), и теперь именно этот поиск вы видите в документации Laravel.

antoha75

Смотрел я Laravel Scout. Не очень убедительная штука. Во-первых, ясно, что Тейлор за Algolia, т.к. она платная и у него конечно есть тут коммерческий интерес. Поддержку Elasticsearch он то добавлял, то исключал, потом опять включал. Есть в его действиях какая-то непоследовательность. Ему даже в твиттере об этом кто-то написал.

Поддержка бесплатного и прекрасного Elasticsearch в Laravel Scout очень ограничена. Например, там нет агрегаций. Вывод такой — вместо использования скаута можно спокойно использовать полнотекстовый поиск mysql. А если нужен серьезный поиск по большой базе, то гораздо лучше поставить стандартный php-клиент от сообщества Elasticsearch, который может реально все!

Настройка шаблонов страничного вывода в Laravel 5.3

перевод новое в 5.3

В Laravel отличная библиотека страничного вывода, потому что страничный вывод является одной из основных задач, а библиотека берёт на себя почти всю работу. Раньше изменять свои шаблоны страничного вывода было так же просто, как и работать с самой библиотекой.

Но в целях упрощения экспорта библиотеки страничного вывода в проекты на других фреймворках, в Laravel 5.0 (а может и раньше) появилась намного более сложная — но более переносимая — система шаблонов страничного вывода.

К счастью, в Laravel 5.3 всё стало так, как раньше — легко и просто.

Voker57

добавьте плиз возможность удаления своих коменттов

Правила проверки размера изображения в Laravel 5.3

перевод новое в 5.3

В Laravel 5.3 появилась новая возможность проверки ввода: размер загружаемого изображения. Правило проверки называется dimensions, оно принимает следующие параметры:

  • min_width — минимальная ширина (в пикселях)
  • max_width — максимальная ширина
  • min_height — минимальная высота
  • max_height — максимальная высота
  • width — требуемая ширина (должна быть равной этому значению)
  • height — требуемая высота
  • ratio — требуемое соотношение сторон (указывается в виде «ширина/высота»)

Дополнительные операции с Collection::where в Laravel 5.3

перевод новое в 5.3

Если вам надо отфильтровать коллекцию Laravel и получить только те записи, которые соответствуют заданным критериям, то скорее всего вы воспользуетесь методами PHPfilter() или PHPreject(). Вот как это работает:

Новый синтаксис where() и update() для JSON-столбцов в Laravel 5.3

перевод новое в 5.3

Возможность преобразования данных в формат JSON и из него появилась в Laravel в версии 5.0, но раньше это было сделано только для удобства, а данные хранились по-прежнему в текстовом поле. Но в MySQL 5.7 появился настоящий тип JSON.

В Laravel 5.3 появился простой синтаксис для поиска и изменения данных на основе значений конкретных ключей в JSON-столбцах.

v_decadence

1. Как задать такие поля через Eloquent?
2. Можно ли в запросах использовать данные из массивов? Например, есть

js{
   addresses: ["Москва", "Новосибирск"]
}

и либо добавить адрес, либо сделать запрос по записям, у которых в этом массиве есть Москва, например.

Новый глобальный метод cache() в Laravel 5.3

перевод новое в 5.3

Пришло время для ещё одной новой функции в Laravel 5.3!

Глобальные вспомогательные методы в Laravel

В своей книге я писал о том, что заметил наличие шаблона в таких глобальных вспомогательных методах, как PHPsession() и, в каком то смысле, в PHPcookie(). Они могут выполнять три основные функции: PHPget — получить значение, PHPput — передать значение, или вернуть экземпляр своего исполняющего сервиса.

evetrov

ок, а в чем польза практическая?

Настройка дополнительных параметров метода FirstOrCreate в Laravel 5.3

перевод новое в 5.3

Ещё одна новинка в Laravel 5.3! На этот раз это обновление метода PHPfirstOrCreate() в Eloquent.

Для тех, кто не знаком с этим методом: вы можете передать массив значений в метод PHPfirstOrCreate(), и он будет искать запись с указанными свойствами. Если она существует, метод вернёт найденный экземпляр, а если нет — создаст её и вернёт созданный экземпляр.

tmanager

Неясно, возвращается ли в экземпляре id.

Новая переменная $loop в Laravel 5.3

перевод новое в 5.3

Давайте рассмотрим ещё одну новую возможность, появившуюся в Laravel 5.3.

Что такое директивы Blade?

Язык шаблонов Laravel Blade предоставляет нечто, называемое «директивы», которые представляют собой настраиваемые теги для часто используемых управляющих структур, начинающиеся с символа @. Если вы когда-нибудь писали шаблоны в Blade, то скорее всего знаете @if, @foreach и т.д.

Вообще, эти директивы управляющих структур просто эмулируют соотвествующие PHP-аналоги. Например, PHP@if(condition) — это то же самое, что и PHP<?php if (condition):.

Знакомство с переменной PHP$loop

В версии 5.3 директива PHP@foreach обрела немного суперсилы в виде переменной PHP$loop, которая доступна в каждом цикле PHP@foreach.

Atoom

ОБЪЯСНИТЕ, ПОЖАЛУЙСТА ! Не понимаю до конца кусок вот этого кода:

<

ul> @foreach ($pages as $page)

      <li>{{ $loop->iteration }}: {{ $page->title }} 

Откуда title и почему к нему обращение через "->" ? И потом, в документации с директивами @contenu и @break Там в условиях обращение к каким-то type и number
Откуда они взялись, какую роль играют. Я пробовал этот код, приведённый в документации, но у меня не работает.

Вот, что написано в документации, но нифига не понятно как ограничить вывод при итерациях.

При работе с циклами вы также можете закончить цикл или пропустить текущую итерацию:

@foreach ($users as $user)

@if ($user->type == 1) @continue

@endif

{{ $user->name }}

@if ($user->number == 5)

@break

@endif

@endforeach

Переменные среды, специфичные для тестового окружения Laravel

перевод

В Laravel можно просто задать переменные среды, специфичные для вашего тестового окружения. Просто отредактируйте свой файл phpunit.xml и задайте их как записи блока <php>:

xml<php>
  <env name="APP_ENV" value="testing"/>
  <env name="CACHE_DRIVER" value="array"/>
  <env name="SESSION_DRIVER" value="array"/>
  <env name="QUEUE_DRIVER" value="sync"/>
  <env name="DB_DATABASE" value=":memory:"/>
  <env name="DB_CONNECTION" value="sqlite"/>
  <env name="TWILIO_FROM_NUMBER" value="+15005550006"/>
</php>

Но что делать, если вам вдруг понадобилось исключить их из контроля версий?

Назад | ДальшеДвижется на Habravel