Laravel полное руководство стаффер мэтт купить

Укажите регион, чтобы мы точнее рассчитали условия доставки

Начните вводить название города, страны, индекс, а мы подскажем

Например: 
Москва,
Санкт-Петербург,
Новосибирск,
Екатеринбург,
Нижний Новгород,
Краснодар,
Челябинск,
Кемерово,
Тюмень,
Красноярск,
Казань,
Пермь,
Ростов-на-Дону,
Самара,
Омск

  • Книги
  • Программирование
  • Мэтт Стаффер

  • 📚 Laravel. Полное руководство

Эта и ещё 2 книги за 399 

По абонементу вы каждый месяц можете взять из каталога одну книгу до 700 ₽ и две книги из специальной подборки. Узнать больше

Оплачивая абонемент, я принимаю условия оплаты и её автоматического продления, указанные в оферте

Описание книги

Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом.

Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую тему, чтобы реализовать проект на Laravel. В издании также раскрыты темы Laravel Dusk и Horizon, собрана информация о ресурсах сообщества и других пакетах, не входящих в ядро Laravel.

После покупки предоставляется дополнительная возможность скачать книгу в формате epub.

Подробная информация

Возрастное ограничение:
16+
Дата выхода на ЛитРес:
06 июля 2020
Дата перевода:
2020
Дата написания:
2019
Объем:
512 стр.
ISBN:
978-5-4461-1396-5
Общий размер:
8 MB
Общее кол-во страниц:
512
Размер страницы:
165 x 233 мм
Переводчик:
Владимир Сауль
Правообладатель:
Питер

Книга Мэтт Стаффер «Laravel. Полное руководство» — скачать в pdf или читать онлайн. Оставляйте комментарии и отзывы, голосуйте за понравившиеся.

Книга входит в серию
«Бестселлеры O’Reilly (Питер)»

Оставьте отзыв

На что хотите пожаловаться?

Сообщение отправлено

Мы получили Ваше сообщение.
Наши модераторы проверят книгу
в ближайшее время.
Спасибо, что помогаете нам.

Сообщение уже отправлено

Мы уже получили Ваше сообщение.
Наши модераторы проверят книгу
в ближайшее время.
Спасибо, что помогаете нам.

Поделиться отзывом на книгу

Laravel. Полное руководство

Мэтт Стаффер

Laravel. Полное руководствоPDF

image Привет, Хаброжители! Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом.

Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую тему, чтобы реализовать проект на Laravel. В издании также раскрыты темы Laravel Dusk и Horizon, собрана информация о ресурсах сообщества и других пакетах, не входящих в ядро Laravel. В этой книге вы найдете: • Инструменты для сбора, проверки, нормализации, фильтрации данных пользователя • Blade, мощный пользовательский шаблонизатор Laravel • Выразительная модель Eloquent ORM для работы с базами данных приложений • Информация о роли объекта Illuminate Request в жизненном цикле приложения • PHPUnit, Mockery и Dusk для тестирования вашего PHP-кода • Инструменты для написания JSON и RESTful API • Интерфейсы для доступа к файловой системе, сессиям, куки, кэшам и поиску • Реализации очередей, заданий, событий и публикации событий WebSocket

Движок шаблонов Blade

PHP в качестве языка шаблонов функционирует относительно хорошо. Но у него есть свои недостатки, поэтому нельзя использовать <?php inline повсеместно. В большинстве современных фреймворков есть свой язык шаблонов.

Laravel предлагает собственный движок шаблонов Blade, созданный на основе движка .NET Razor. Он обладает лаконичным синтаксисом, довольно понятен, сопровождается мощной и интуитивно понятной моделью наследования и легкой расширяемостью.

Быстро ознакомиться с тем, как выглядит Blade, можно на примере 4.1.

Пример 4.1. Примеры Blade

<h1>{{ $group->title }}</h1>
{!! $group->heroImageHtml() !!}

@forelse ($users as $user)
       • {{ $user->first_name }} {{ $user->last_name }}<br>
@empty
       No users in this group.
@endforelse

Как видно, в коде Blade используются фигурные скобки для Echo и соглашение, в котором его пользовательские теги, называемые «директивами», имеют префикс @. Вы будете применять директивы для всех своих структур управления, а также для наследования и любых пользовательских функций, которые хотите добавить.

Синтаксис Blade чистый и лаконичный, поэтому работать с ним проще и приятнее, чем с альтернативами. Но в тот момент, когда понадобится что-нибудь сложное в ваших шаблонах — вложенное наследование, сложные условия или рекурсия, — движок проявляет себя с лучшей стороны. Как и лучшие компоненты Laravel, тяжелые требования к приложениям он упрощает и делает доступными.

Кроме того, поскольку весь синтаксис Blade скомпилирован в обычный код PHP, а затем кэширован, он быстр и позволяет по желанию использовать нативный PHP в ваших файлах этого движка. Тем не менее я бы рекомендовал избегать применения PHP, когда это вообще возможно, — обычно, если нужно сделать то, что невозможно с Blade или его пользовательской директивой, это не относится к шаблону.

Отображение данных

Как вы можете видеть в примере 4.1, скобки {{ и }} используются для обертки PHP-кода, который вы хотели бы отобразить. Код {{ $variable }} действует подобно <?= $variable ?> в простом PHP.

Однако есть отличие: Blade по умолчанию экранирует все отображения PHP-функцией htmlentities() для защиты ваших пользователей от вставки вредоносных сценариев. Это означает, что {{ $variable }} функционально эквивалентно <?= htmlentities($variable) ?>. Если вы не хотите экранировать вывод, используйте {!!! и !!} вместо этого.

СКОБКИ {{ И }} ПРИ ИСПОЛЬЗОВАНИИ ФРОНТЕНД-ФРЕЙМВОРКА ШАБЛОНИЗАЦИИ

Вы могли заметить, что синтаксис отображения для Blade ({{}}) аналогичен таковым для многих фронтенд-фреймворков. Как же Laravel узнает, используете вы Blade или Handlebars?

Blade игнорирует все {{ с предваряющим знаком @. Таким образом, он проанализирует первый из следующих примеров, но второй будет выведен полностью:

// Распознается как Blade; значение $bladeVariable
// отображается в представлении
{{ $bladeVariable }}

// @ удаляется и «{{ handlebarsVariable }}» полностью
// отображается в представлении
@{{ handlebarsVariable }}

Вы также можете обернуть любые большие части содержимого сценария директивой verbatim (http://bit.ly/2OnrPRP).

Управляющие структуры

Большинство управляющих структур в Blade будут знакомы. Многие напрямую дублируют имя и структуру такого же тега в PHP.

Есть несколько хелперов для удобства, но в целом структуры управления выглядят чище, чем в PHP.

Условные конструкции

Рассмотрим логические структуры управления.

@if

Выражение @if ($condition) в Blade компилируется в <?php if ($condition): ?>. else, elseif и endif — с точно таким же стилем синтаксиса в PHP. Взгляните на пример 4.2

Пример 4.2. @if, else, elseif и endif

@if (count($talks) === 1)
     There is one talk at this time period.
@elseif (count($talks) === 0)
     There are no talks at this time period.
@else
     There are {{ count($talks) }} talks at this time period.
@endif

Как и в случае с собственными условными выражениями PHP, вы можете смешивать и комбинировать их так, как вам удобно. У них нет особой логики; есть анализатор с поиском в форме @if($condition) и заменой соответствующим кодом PHP.

@unless и @endunless

@unless, с другой стороны, — это новый синтаксис, который не имеет прямого эквивалента в PHP. Это противоположность @if. @unless($condition) совпадает с <?php if (! $condition). Вы можете увидеть это на примере 4.3.

Пример 4.3. @unless и @endunless

@unless ($user->hasPaid())
       You can complete your payment by switching to the payment tab.
@endunless

Циклы

Далее рассмотрим циклы.

@for, @foreach и @while

for, foreach и while работают в Blade так же, как и в PHP (примеры 4.4–4.6).

Пример 4.4. for и @endfor

@for ($i = 0; $i < $talk->slotsCount(); $i++)
      The number is {{ $i }}<br>
@endfor

Пример 4.5. foreach и @endforeach

@foreach ($talks as $talk)
       • {{ $talk->title }} ({{ $talk->length }} minutes)<br>
@endforeach

Пример 4.6. while и @endwhile

@while ($item = array_pop($items))
       {{ $item->orSomething() }}<br>
@endwhile

@forelse и @endforelse

forelse — это foreach, который может быть выполнен, даже если перебираемый вами объект пуст. Мы видели это в действии в начале главы. Пример 4.7 показывает другой вариант.

Пример 4.7. forelse

@forelse ($talks as $talk)
       • {{ $talk->title }} ({{ $talk->length }} minutes)<br>
@empty
       No talks this day.
@endforelse

ПЕРЕМЕННАЯ $LOOP В ДИРЕКТИВАХ FOREACH И @FORELSE

Директивы foreach и forelse (представленные в Laravel 5.3) добавляют переменную $loop, недоступную в циклах foreach PHP. При использовании внутри цикла foreach или forelse она будет возвращать объект stdClass со следующими свойствами.

• index — отсчитанный от 0 индекс текущего элемента в цикле; 0 — «первый элемент».

• iteration — отсчитанный от 1 индекс текущего элемента в цикле; 1 — «первый элемент».

• remaining — количество элементов, оставшихся в цикле.

• count — количество элементов в цикле.

• first — логическое значение, указывающее, является ли данный элемент первым элементом в цикле.

• last — логическое значение, указывающее, является ли данный элемент последним элементом в цикле.

• depth — сколько «уровней» в этом цикле: 1 для цикла, 2 для цикла внутри цикла и т. д.

• parent — ссылка на переменную $loop для элемента родительского цикла, если этот цикл находится в другом цикле foreach; иначе null.

Вот пример того, как это работает:

<ul>
@foreach ($pages as $page)
       <li>{{ $loop->iteration }}: {{ $page->title }}
             @if ($page->hasChildren())
             <ul>
             @foreach ($page->children() as $child)
             <li>{{ $loop->parent->iteration }}
                   .{{ $loop->iteration }}:
                   {{ $child->title }}</li>
             @endforeach
             </ul>
             @endif
       </li>
@endforeach
</ul>

Наследование шаблонов

Blade предоставляет структуру для наследования шаблонов, которая позволяет представлениям расширять, изменять и включать в себя другие представления.

Посмотрим, как наследование структурируется с Blade.

Определение разделов страницы с помощью директив @section/@show и yield

Начнем с макета Blade верхнего уровня, как в примере 4.8. Это определение универсальной обертки страницы, в которую мы позже поместим специфичный для страницы контент.

Пример 4.8. Структура Blade

<!-- resources/views/layouts/master.blade.php -->
<html>
       <head>
              <title>My Site | @yield('title', 'Home Page')</title>
       </head>
       <body>
              <div class="container">
                    @yield('content')
              </div>
              @section('footerScripts')
                     <script src="app.js"></script>
              @show
       </body>
</html>

Это напоминает обычную HTML-страницу, но вы можете видеть yield в двух местах (title и content), и мы определили section в третьем (footerScripts). Здесь у нас есть три директивы Blade: только yield(‘content’), yield(‘title’, ‘Home Page’) с заданным по умолчанию значением и @section/@show с реальным содержимым в нем.

Хотя они выглядят немного по-разному, но функционируют, по существу, одинаково. Все три определяют, что есть раздел с заданным именем (первый параметр), который может быть расширен позже, и что делать, если раздел не был расширен. Они делают это либо строкой возврата (‘Home Page’), либо без возврата (просто не будет отображаться ничего, если директива не расширена), либо с возвратом всего блока (в данном случае ).

В чем разница? У yield(‘content’) нет контента по умолчанию. Кроме того, в yield(‘title’) оно будет отображаться, только если директива не расширяется. В обратном случае ее дочерние разделы не будут иметь программного доступа к значению по умолчанию. @section/@show одновременно определяет значение по умолчанию и делает так, чтобы его содержимое было доступно его дочерним элементам через @parent.

Если у вас есть такой родительский макет, вы можете расширить его в новом файле шаблона, как в примере 4.9.

Пример 4.9. Расширение макета Blade

<!-- resources/views/dashboard.blade.php -->
@extends('layouts.master')

@section('title', 'Dashboard')

@section('content')
       Welcome to your application dashboard!
@endsection

@section('footerScripts')
      @parent
      <script src="dashboard.js"></script>
@endsection

Это дочернее представление позволяет нам показать несколько новых концепций наследования Blade.

@extends

В примере 4.9 с помощью @extends(‘layouts.master’) мы определяем, что это представление не должно отображаться само по себе, а вместо этого расширяет другое представление. Это означает, что его роль заключается в установке содержания различных разделов, но не в работе в одиночку. Больше похоже на серию блоков контента, чем на страницу HTML. Строка также определяет, что представление, которое она расширяет, находится по адресу resources/views/layouts/master.blade.php.

Каждый файл должен расширять только один другой файл, и вызов @extends обязан быть первой строкой файла.

@section и @endsection

С помощью @section(‘title’, ‘Dashboard’) мы предоставляем наш контент для первого раздела, title. Поскольку содержимое очень короткое, вместо @section и @endsection мы используем сокращенную форму. Это позволяет передавать содержимое как второй параметр @section, а затем двигаться дальше. Если вас немного сбивает с толку @section без @endsection, можно использовать обычный синтаксис.

С @section(‘content’) и далее мы используем обычный синтаксис для определения содержимого раздела content. Пока мы вставим небольшое приветствие. Однако заметьте: когда вы применяете @section в дочернем представлении, вы заканчиваете его @endsection (или его псевдонимом stop) вместо show, который зарезервирован для определения разделов в родительских представлениях.

@parent

С @section(‘footerScripts’) и далее мы используем обычный синтаксис для определения содержимого раздела footerScripts.

Помните, что мы фактически определили этот контент (или по крайней мере его «значение по умолчанию») уже в главном макете. Так что на этот раз у нас есть два варианта: либо перезаписать содержимое из родительского представления, либо добавить к нему.
Вы можете видеть, что у нас есть возможность включить содержимое из родительского представления с помощью директивы @parent внутри этого раздела. В противном случае содержимое раздела будет полностью переписано всем тем, что определено в родителе этого раздела.

Включение составляющих представления

Теперь, когда мы разобрались с основами наследования, можно использовать еще несколько уловок.

@include

Что, если мы находимся в одном представлении и хотим использовать другое? Возможно, есть кнопка регистрации, которую желательно повторно добавить по всему сайту. И, может быть, хочется подбирать текст кнопки каждый раз, когда ее используем. Посмотрите на пример 4.10.

Пример 4.10. Включение составляющих представления с include

<!-- resources/views/home.blade.php -->
<div class="content" data-page-name="{{ $pageName }}">
      <p>Here's why you should sign up for our app: <strong>It's Great.</strong></p>

      @include('sign-up-button', ['text' => 'See just how great it is'])
</div>

<!-- resources/views/sign-up-button.blade.php -->
<a class="button button--callout" data-page-name="{{ $pageName }}">
      <i class="exclamation-icon"></i> {{ $text }}
</a>

include подтягивает составляющую и передает в нее данные (не обязательно). Обратите внимание, что вы можете не только явно передавать данные для включения через второй параметр include, но и ссылаться на любые переменные во включенном файле, которые доступны для включаемого представления (в этом примере $pageName). Вы можете делать все, что хотите, но я бы рекомендовал для ясности всегда передавать каждую переменную, которую собираетесь применять.

Вы также можете использовать директивы includeIf, includeWhen и includeFirst, как показано в примере 4.11.

Пример 4.11. Включение представлений по условиям

{{-- Включить представление, если оно существует --}}
@includeIf('sidebars.admin', ['some' => 'data'])

{{-- Включить представление, если переданная переменная равна true --}}
@includeWhen($user->isAdmin(), 'sidebars.admin', ['some' => 'data'])

{{-- Включить первое представление из данного массива представлений --}}
@includeFirst(['customs.header', 'header'], ['some' => 'data'])

@each

Вы можете представить себе обстоятельства, когда вам нужно перебрать массив, коллекцию и include часть для каждого элемента. Для этого есть директива each.

Скажем, у нас есть боковая модульная панель и мы хотим включить несколько модулей со своим названием. Посмотрите на пример 4.12.

Пример 4.12. Использование составляющих представления в цикле с each

<!-- resources/views/sidebar.blade.php -->
<div class="sidebar">
      @each('partials.module', $modules, 'module', 'partials.empty-module')
</div>

<!-- resources/views/partials/module.blade.php -->
<div class="sidebar-module">
      <h1>{{ $module->title }}</h1>
</div>

<!-- resources/views/partials/empty-module.blade.php -->
<div class="sidebar-module">
      No modules :(
</div>

Рассмотрим синтаксис each. Первый параметр — это имя составляющей представления. Второй — массив или коллекция для итерации. Третье — название переменной, под которым каждый элемент (в данном случае каждый элемент в массиве $modules) будет передан представлению. И необязательный четвертый параметр — это представление, показывающее, являются ли массив или коллекция пустыми (или при желании можно передать здесь строку, которая будет использоваться в качестве вашего шаблона).

Использование стеков

Общий шаблон, возможно, сложен для управления с помощью базового Blade — когда каждому представлению в иерархии Blade необходимо добавить что-то в определенный раздел, — почти как при добавлении записи в массив.

Наиболее распространенная ситуация — когда определенные страницы (а иногда и в более широком смысле определенные разделы сайта) имеют конкретные уникальные файлы CSS и JavaScript, которые им нужно загрузить. Представьте, что у вас есть «глобальный» CSS-файл для всего сайта, CSS-файл раздела вакансий и CSS-файл страницы «Устроиться на работу».

Стеки Blade созданы именно для такого. В родительском шаблоне определите стек-заполнитель. Затем в каждом дочернем шаблоне вы можете туда «выталкивать» записи с помощью push/@endpush, который добавляет их в конец стека в конечном изображении. Вы также можете использовать @prepend/@endprepend, чтобы добавить их в начало. Пример 4.13 иллюстрирует это.

Пример 4.13. Использование стеков Blade

<!-- resources/views/layouts/app.blade.php -->
<html>
<head><!-- шапка --></head>
<body>
       <!-- остальная чать страницы -->
       <script src="/css/global.css"></script>
       <!-- заполнитель, куда будет помещен контент из стека -->
       @stack('scripts')
</body>
</html>

<!-- resources/views/jobs.blade.php -->
@extends('layouts.app')

@push('scripts')
        <!-- выталкиваем что-нибудь в конец стека -->
        <script src="/css/jobs.css"></script>
@endpush

<!-- resources/views/jobs/apply.blade.php -->
@extends('jobs')

@prepend('scripts')
       <!-- выталкиваем что-нибудь в начало стека -->
       <script src="/css/jobs--apply.css"></script>

@endprepend

Это приводит к следующему результату:

<html>
<head><!-- шапка --></head>
<body>
       <!-- остальная часть страницы -->
       <script src="/css/global.css"></script>
       <!-- заполнитель, куда будет помещен контент из стека -->
       <script src="/css/jobs--apply.css"></script>
       <script src="/css/jobs.css"></script>
</body>
</html>

Использование компонентов и слотов

Laravel предлагает другой шаблон для включения контента между представлениями, который был представлен в 5.4: компоненты и слоты. Первые наиболее эффективны в контексте, когда вы используете составляющие представления и передаете в них большие порции контента в качестве переменных. Посмотрите на пример 4.14 для иллюстрации модели или всплывающей подсказки, которая может предупредить пользователя при ошибке или другом действии.

Пример 4.14. Модальное окно — неудачный пример составляющей представления

<!-- resources/views/partials/modal.blade.php -->
<div class="modal">
      <div>{{ $content }}</div>
      <div class="close button etc">...</div>
</div>

<!-- в другом шаблоне -->
@include('partials.modal', [
       'body' => '<p>The password you have provided is not valid. Here are the rules
       for valid passwords: [...]</p><p><a href="#">...</a></p>'
])

Это слишком много для такой переменной и идеально подходит для компонента.

Компоненты со слотами — это составляющие представлений, которые разработаны, чтобы включать большие порции («слоты») для получения содержимого из включаемого шаблона. В примере 4.15 показано, как перепроектировать код из примера 4.14 с использованием компонентов и слотов.

Пример 4.15. Модальное окно как более подходящий компонент со слотами

<!-- resources/views/partials/modal.blade.php -->
<div class="modal">
      <div>{{ $slot }}</div>
      <div class="close button etc">...</div>
</div>

<!-- в другом шаблоне -->
@component('partials.modal')
        <p>The password you have provided is not valid.
        Here are the rules for valid passwords: [...]</p>

        <p><a href="#">...</a></p>
@endcomponent

Как вы можете видеть в примере 4.15, директива component позволяет извлекать наш HTML-код из сжатой строки переменной и возвращает в пространство шаблона. Переменная $slot в шаблоне нашего компонента получает любой контент, передаваемый в component.

Составные слоты

Метод, который мы использовали в примере 4.15, называется слотом «по умолчанию»; все, что вы передаете между component и @endcomponent, передается переменной $slot. Но вы также можете иметь больше, чем просто слот по умолчанию. Представим модальное окно с заголовком, как в примере 4.16.

Пример 4.16. Составляющая модального представления с двумя переменными

<!-- resources/views/partials/modal.blade.php -->
<div class="modal">
      <div class="modal-header">{{ $title }}</div>
      <div>{{ $slot }}</div>
      <div class="close button etc">...</div>
</div>

Вы можете использовать директиву slot в своих вызовах component для передачи содержимого в слоты, отличные от заданного по умолчанию, как показано в примере 4.17.

Пример 4.17. Передача более одного слота компоненту

@component('partials.modal')
        @slot('title')
               Password validation failure
        @endslot

        <p>The password you have provided is not valid.
        Here are the rules for valid passwords: [...]</p>

        <p><a href="#">...</a></p>
@endcomponent

И если в вашем представлении есть другие переменные, которые бессмысленны в качестве слота, все равно можно передать массив содержимого в качестве второго параметра в component так же, как с include. Взгляните на пример 4.18.

Пример 4.18. Передача данных в компонент без слотов

@component('partials.modal', ['class' => 'danger'])
         ...
@endcomponent

Именование компонента как директивы

Есть хитрый трюк, чтобы еще упростить компоненты для вызова: псевдонимы. Просто вызовите Blade::component() на фасаде Blade — наиболее распространенным является метод AppServiceProvider boot() — и передайте ему сначала местоположение компонента, а затем имя желаемой директивы, как показано в примере 4.19.

Пример 4.19. Псевдонимизация компонента как директивы

// AppServiceProvider@boot
Blade::component('partials.modal', 'modal');

<!-- в шаблоне -->
@modal
         Modal content here
@endmodalИмпорт

» Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок

Для Хаброжителей скидка 25% по купону — Laravel

По факту оплаты бумажной версии книги на e-mail высылается электронная книга.

Мэтт Стаффер

Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом.
Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую тему, чтобы реализовать проект на Laravel. В издании также раскрыты темы Laravel Dusk и Horizon, собрана информация о ресурсах сообщества и других пакетах, не входящих в ядро Laravel.
В этой книге вы найдете: инструменты для сбора, проверки, нормализации, фильтрации данных пользователя; Blade, мощный пользовательский шаблонизатор Laravel; выразительная модель Eloquent ORM для работы с базами данных приложений; информация о роли объекта Illuminate Request в жизненном цикле приложения; PHPUnit, Mockery и Dusk для тестирования вашего PHP-кода; инструменты для написания JSON и RESTful API; интерфейсы для доступа к файловой системе, сессиям, куки, кэшам и поиску; реализации очередей, заданий, событий и публикации событий WebSocket.

Типографский формат: 70х100/16

Переплёт: Мягкий

Год издания: 2021

Количество страниц: 512

Издательство: Питер

ISBN: 978-5-4461-1396-5

Возрастные ограничения: 16+

Размер книги, см: 16,5

x 2,1

x 23,3

Laravel. Полное руководство

  Нет в наличии

Доставка осуществляется только по России

Доставка по Москве :

Самовывоз из магазина на Таганской (бесплатно)

Курьером (в пределах МКАД) 350 р.

Доставка в регионы :

Почтой России. Сроки доставки зависят от удалённости региона, обычно — в течение 1−3 недель

Через пункты выдачи заказов Boxberry. Срок доставки — от 4 до 14 дней (срок может быть увеличен из-за дальности региона, а также в предпраздничное время)

Что отличает Laravel от других РНР-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую тему, чтобы реализовать проект на Laravel. В издании также раскрыты темы Laravel Dusk и Horizon, собрана информация о ресурсах сообщества и других пакетах, не входящих в ядро Laravel.

Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.

Matt 

Laravel: Up & Running

A Framework for Building Modern PHP Apps

SECOND EDITION

Boston
Farnham
Sebastopol
Tokyo
Beijing
Boston
Farnham
Sebastopol
Tokyo
Beijing
Мэтт Стаффер

Laravel

2-е издание

Полное руководство
Мэтт Стаффер

Laravel. Полное руководство. 2-е издание

Серия «Бестселлеры O’Reilly»

Перевел с английского Владимир Сауль

 
Заведующая редакцией 
Ю. Сергиенко

 
Руководитель проекта 
С. Давид

 
Ведущий редактор 
Н. Гринчик

 
Художественный редактор 
Н. Васильева

 
Литературные редакторы 
В. Байдук, А. Дубейко

 
Корректоры 
О. Андриевич, Е. Павлович

 
Верстка 
Г. Блинов

ББК 32.988.02-018  
УДК 004.738.5 

 
Стаффер Мэтт

С78 
 Laravel. Полное руководство. 2-е изд. — СПб.: Питер, 2020. — 512 с.: ил. — (Се-
рия «Бестселлеры O’Reilly»).

 
ISBN 978-5-4461-1396-5

Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка прило-

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

Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, 

так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую 
тему, чтобы реализовать проект на Laravel. В издании также раскрыты темы Laravel Dusk и Horizon, собрана 
информация о ресурсах сообщества и других пакетах, не входящих в ядро Laravel.
16+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)

ISBN 978-1492041214 англ. 
Authorized Russian translation of the English edition of Laravel: Up and Running, 

 
2nd Edition. ISBN 9781492041214 © 2019 Matt Stauffer

 
This translation is published and sold by permission of O’Reilly Media, Inc., which 

 
owns or controls all rights to publish and sell the same.

ISBN 978-5-4461-1396-5 
© Перевод на русский язык ООО Издательство «Питер», 2020

 
© Издание на русском языке, оформление ООО Издательство «Питер», 2020

 
© Серия «Бестселлеры O’Reilly», 2020

Права на издание получены по соглашению с O’Reilly. Все права защищены. Никакая часть данной книги не может 
быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.

Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как на-
дежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может 
гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные 
ошибки, связанные с использованием книги. Издательство не несет ответственности за доступность материалов, 
ссылки на которые вы можете найти в этой книге. На момент подготовки книги к изданию все ссылки на интернет-
ресурсы были действующими.

Изготовлено в России. Изготовитель: ООО «Прогресс книга». Место нахождения и фактический адрес:  

194044, Россия, г. Санкт-Петербург, Б. Сампсониевский пр., д. 29А, пом. 52. Тел.: +78127037373.
Дата изготовления: 12.2019. Наименование: книжная продукция. Срок годности: не ограничен.

Налоговая льгота — общероссийский классификатор продукции ОК 034-2014, 58.11.12 — Книги печатные 

профессиональные, технические и научные.

Импортер в Беларусь: ООО «ПИТЕР М», 220020, РБ, г. Минск, ул. Тимирязева, д. 121/3, к. 214, тел./факс: 208 80 01.

Подписано в печать 27.11.19. Формат 70×100/16. Бумага офсетная. Усл. п. л. 41,280. Тираж 1000. Заказ 0000.

Отпечатано в ОАО «Первая Образцовая типография». Филиал «Чеховский Печатный Двор». 

142300, Московская область, г. Чехов, ул. Полиграфистов, 1. 

Сайт: www.chpk.ru. E-mail: marketing@chpk.ru 

Факс: 8(496) 726-54-10, телефон: (495) 988-63-87
Краткое содержание

Предисловие...........................................................................................................................................20

От.издательства.....................................................................................................................................25

Глава 1. Зачем.использовать.Laravel.............................................................................................26

Глава 2. Настройка.среды.разработки.для.использования.Laravel.....................................36

Глава 3. Маршрутизация.и.контроллеры.....................................................................................47

Глава 4. Движок.шаблонов.Blade....................................................................................................86

Глава 5. Базы.данных.и.Eloquent..................................................................................................108

Глава 6. Компоненты.для.клиентской.части.............................................................................177

Глава 7..Получение.и.обработка.пользовательских.данных...............................................198

Глава 8. Интерфейсы.Artisan.и.Tinker........................................................................................216

Глава 9. Аутентификация.и.авторизация.пользователей.....................................................234

Глава 10. Запросы,.ответы.и.middleware....................................................................................267

Глава 11. Контейнер..........................................................................................................................293

Глава 12. Тестирование....................................................................................................................308

Глава 13. Создание.API....................................................................................................................350

Глава 14. Сохранение.и.извлечение.данных.............................................................................390

Глава 15. Почта.и.уведомления.....................................................................................................418

Глава 16. Очереди,.задания,.события,.трансляция.и.планировщик.................................439

Глава 17. Хелперы.и.коллекции....................................................................................................477

Глава 18. Экосистема.инструментов.Laravel............................................................................494

Глоссарий...............................................................................................................................................501

Об.авторе................................................................................................................................................511

Об.обложке............................................................................................................................................512
Оглавление

Предисловие...........................................................................................................................................20

О.чем.эта.книга................................................................................................................................20
Для.кого.предназначена.книга...................................................................................................21
Структура.издания.........................................................................................................................21
О.втором.издании...........................................................................................................................21
Условные.обозначения.................................................................................................................22
Благодарности.................................................................................................................................23

Первое.издание.........................................................................................................................23
Второе.издание.........................................................................................................................24

От.издательства.....................................................................................................................................25

Глава 1. Зачем.использовать.Laravel.............................................................................................26

Для.чего.нужен.фреймворк.........................................................................................................26

«Все.своими.руками».............................................................................................................27
Согласованность.и.гибкость................................................................................................27

Краткий.экскурс.в.историю.веб-.и.PHP-фреймворков....................................................27

Ruby.on.Rails..............................................................................................................................28
Бум.PHP-фреймворков.........................................................................................................28
Преимущества.и.недостатки.CodeIgniter........................................................................28
Laravel.1,.2.и.3............................................................................................................................29
Laravel.4.......................................................................................................................................29
Laravel.5.......................................................................................................................................29

Чем.уникален.Laravel....................................................................................................................30

Философия.Laravel.................................................................................................................30
Как.Laravel.делает.разработчиков.счастливее...............................................................31
Сообщество.Laravel.................................................................................................................32

Как.работает.Laravel......................................................................................................................32
Почему.стоит.выбрать.Laravel...................................................................................................35
Оглавление  7

Глава 2. Настройка.среды.разработки.для.использования.Laravel.....................................36

Системные.требования.................................................................................................................36
Composer............................................................................................................................................37
Локальные.среды.разработки.....................................................................................................37

Laravel.Valet...............................................................................................................................37
Laravel.Homestead....................................................................................................................38

Создание.нового.проекта.Laravel..............................................................................................38

Установка.Laravel.с.помощью.установщика.Laravel...................................................39
Установка.Laravel.с.помощью.функции.create-project.менеджера.пакетов.
Composer.....................................................................................................................................39
Lambo:.улучшенный.вариант.команды.laravel.new......................................................39

Структура.каталогов.Laravel......................................................................................................40

Каталоги......................................................................................................................................40
Отдельные.файлы....................................................................................................................41

Конфигурация.................................................................................................................................42
Завершение.настройки.................................................................................................................45
Тестирование...................................................................................................................................45
Резюме................................................................................................................................................46

Глава 3. Маршрутизация.и.контроллеры.....................................................................................47

Краткое.введение.в.MVC,.команды.HTTP.и.REST...........................................................47

Что.такое.MVC.........................................................................................................................47
HTTP-команды.........................................................................................................................48
Что.такое.REST........................................................................................................................49

Определения.маршрутов.............................................................................................................50

Команды.маршрутов...............................................................................................................51
Обработка.маршрутов............................................................................................................52
Параметры.маршрутов...........................................................................................................53
Имена.маршрутов....................................................................................................................54

Группы.маршрутов.........................................................................................................................56

Middleware..................................................................................................................................57
Префиксы.путей.......................................................................................................................59
Запасные.маршруты................................................................................................................60
Поддоменная.маршрутизация.............................................................................................60
Префиксы.пространства.имен.............................................................................................61
Префиксы.имен........................................................................................................................61

Подписанные.маршруты..............................................................................................................62

Подписание.маршрута...........................................................................................................62
Изменение.маршрутов.для.разрешения.подписанных.ссылок...............................63
Оглавление

Представления.(views).................................................................................................................64

Прямой.возврат.простых.маршрутов.с.помощью.метода.Route::view()...............65
Общий.доступ.представлений.к.переменным.с.использованием.
компоновщиков.представлений..........................................................................................65

Контроллеры.(controllers)...........................................................................................................65

Получение.ввода.пользователя...........................................................................................68
Внедрение.зависимостей.в.контроллеры........................................................................69
Контроллеры.ресурсов...........................................................................................................71
Контроллеры.ресурсов.API..................................................................................................72
Контроллеры.одиночного.действия..................................................................................72

Привязка.модели.маршрута.......................................................................................................73

Неявная.привязка.модели.маршрута................................................................................73
Пользовательская.привязка.модели.маршрута.............................................................74

Кэширование.маршрутов............................................................................................................75
Подмена.метода.формы................................................................................................................75

HTTP-команды.в.Laravel......................................................................................................76
Подмена.HTTP-метода.в.HTML-формах.......................................................................76

Защита.CSRF...................................................................................................................................76
Перенаправления...........................................................................................................................78

redirect()->to()..........................................................................................................................79
redirect()->route()...................................................................................................................79
redirect()->back().....................................................................................................................80
Другие.методы.перенаправления.......................................................................................80
redirect()->with().....................................................................................................................81

Отмена.запроса................................................................................................................................82
Пользовательские.ответы............................................................................................................83

response()->make()..................................................................................................................83
response()->json().и.->jsonp().............................................................................................83
response()->download(),.->streamDownload().и.->file()............................................83

Тестирование...................................................................................................................................84
Резюме................................................................................................................................................85

Глава 4. Движок.шаблонов.Blade....................................................................................................86

Отображение.данных....................................................................................................................87
Управляющие.структуры............................................................................................................88

Условные.конструкции..........................................................................................................88
Циклы..........................................................................................................................................89

Наследование.шаблонов..............................................................................................................90

Определение.разделов.страницы.с.помощью.директив.@section/@show.
и.@yield........................................................................................................................................90
Включение.составляющих.представления.....................................................................93
Оглавление  9

Использование.стеков............................................................................................................94
Использование.компонентов.и.слотов.............................................................................96

Компоновщики.представлений.и.внедрение.сервисов.....................................................98

Привязка.данных.к.представлениям.с.использованием.компоновщиков.
представлений...........................................................................................................................98
Внедрение.сервиса.Blade.....................................................................................................101

Пользовательские.директивы.Blade......................................................................................102

Параметры.пользовательских.директив.Blade............................................................104
Пример:.применение.пользовательских.директив.Blade.
для.многоклиентских.приложений.................................................................................104
Упрощенные.пользовательские.директивы.для.операторов.if..............................105

Тестирование.................................................................................................................................106
Резюме..............................................................................................................................................107

Глава 5. Базы.данных.и.Eloquent..................................................................................................108

Конфигурация...............................................................................................................................108

Подключения.базы.данных................................................................................................109
Другие.параметры.конфигурации.базы.данных.........................................................110

Миграции........................................................................................................................................110

Определение.миграций........................................................................................................111
Запуск.миграций....................................................................................................................117

Наполнение.базы.данными.......................................................................................................118

Создание.сидера.....................................................................................................................119
Фабрики.моделей..................................................................................................................120

Генератор.запросов......................................................................................................................124

Стандартное.использование.фасада.DB........................................................................125
Чистый.SQL.............................................................................................................................126
Выстраивание.цепочки.с.генератором.запросов.........................................................127
Транзакции...............................................................................................................................135

Введение.в.Eloquent.....................................................................................................................136

Создание.и.определение.моделей.Eloquent..................................................................138
Получение.данных.с.помощью.Eloquent.......................................................................139
Вставки.и.обновления.с.помощью.Eloquent.................................................................141
Удаление.с.помощью.Eloquent..........................................................................................145
Области.видимости...............................................................................................................147
Настройка.взаимодействия.полей.с.аксессорами,.мутаторами.
и.приведением.атрибутов....................................................................................................150
Коллекции.Eloquent..............................................................................................................154
Сериализация.Eloquent.......................................................................................................156
Связи.в.Eloquent....................................................................................................................158
Обновление.меток.времени.родительской.записи.дочерними.записями..........170
Оглавление

События.Eloquent.........................................................................................................................172
Тестирование.................................................................................................................................174
Резюме..............................................................................................................................................176

Глава 6. Компоненты.для.клиентской.части.............................................................................177

Laravel.Mix......................................................................................................................................177

Структура.каталога.Mix......................................................................................................179
Запуск.Mix...............................................................................................................................179
Что.предоставляет.Mix........................................................................................................180

Предустановки.клиентской.части.и.генерация.кода.аутентификации.....................186

Предустановки.клиентской.части....................................................................................187
Генерация.кода.аутентификации.....................................................................................188

Разбивка.на.страницы.................................................................................................................188

Разбивка.на.страницы.результатов.из.базы.данных..................................................188
Создание.разбивщиков.страниц.вручную.....................................................................189

Пакеты.сообщений.......................................................................................................................190
Строковые.хелперы,.множественность.и.локализация..................................................192

Строковые.хелперы.и.множественность.......................................................................192
Локализация............................................................................................................................193

Тестирование.................................................................................................................................196

Тестирование.пакетов.сообщений.и.ошибок...............................................................196
Перевод.и.локализация........................................................................................................197

Резюме..............................................................................................................................................197

Глава 7..Получение.и.обработка.пользовательских.данных...............................................198

Внедрение.объекта.запроса.......................................................................................................198

$request->all().........................................................................................................................199
$request->except().и.$request->only()............................................................................199
$request->has().......................................................................................................................200
$request->input()...................................................................................................................200
$request->method().и.->isMethod()................................................................................201
Ввод.массива............................................................................................................................201
Ввод.JSON.(и.$request->json()).......................................................................................201

Маршрутные.данные...................................................................................................................203

Из.Request................................................................................................................................203
Из.параметров.маршрута....................................................................................................203

Загруженные.файлы....................................................................................................................203
Валидация.......................................................................................................................................206

Метод.validate().объекта.Request.....................................................................................206
Ручная.валидация..................................................................................................................208
Оглавление  11

Объекты.пользовательских.правил.................................................................................208
Отображение.валидационных.сообщений....................................................................209

Запросы.формы.............................................................................................................................209

Создание.запроса.формы....................................................................................................210
Использование.запроса.формы.........................................................................................211

Модель.массового.назначения.Eloquent..............................................................................212
Синтаксис.{{.и.{!!...........................................................................................................................213
Тестирование.................................................................................................................................213
Резюме..............................................................................................................................................215

Глава 8. Интерфейсы.Artisan.и.Tinker........................................................................................216

Введение.в.интерфейс.Artisan..................................................................................................216
Основные.команды.Artisan.......................................................................................................217

Параметры................................................................................................................................217
Сгруппированные.команды...............................................................................................218

Написание.пользовательских.команд.Artisan....................................................................220

Пример.команды....................................................................................................................222
Аргументы.и.параметры......................................................................................................223
Использование.ввода............................................................................................................225
Приглашения...........................................................................................................................226
Вывод.........................................................................................................................................227
Команды.на.основе.замыканий.........................................................................................229

Вызов.команд.Artisan.в.нормальном.коде...........................................................................229
Tinker................................................................................................................................................230
Сервер.дампа.Laravel...................................................................................................................231
Тестирование.................................................................................................................................232
Резюме..............................................................................................................................................233

Глава 9. Аутентификация.и.авторизация.пользователей.....................................................234

Модель.User.и.миграция............................................................................................................235
Использование.глобального.хелпера.auth().и.фасада.Auth..........................................238
Контроллеры.аутентификации................................................................................................239

Контроллер.RegisterController..........................................................................................239
Контроллер.LoginController...............................................................................................240
Контроллер.ResetPasswordController.............................................................................242
Контроллер.ForgotPasswordController..........................................................................242
Контроллер.VerificationController...................................................................................243

Метод.Auth::routes()....................................................................................................................243
Каркас.аутентификации.............................................................................................................244
Токен.«Запомнить.меня»...........................................................................................................245
Оглавление

Выполнение.вручную.аутентификации.пользователей.................................................246
Выполнение.вручную.выхода.пользователя.из.системы...............................................247
auth....................................................................................................................................................248
Верификация.адресов.электронной.почты.........................................................................249
Blade-директивы.для.аутентификации.................................................................................249
Гарды.................................................................................................................................................250

Указание.другого.гарда.по.умолчанию..........................................................................250
Использование.других.гардов.без.изменения.базового...........................................251
Добавление.нового.гарда.....................................................................................................251
Гарды.на.основе.замыкания.запроса...............................................................................252
Создание.собственного.провайдера.пользователей...................................................252
Собственные.провайдеры.пользователей.для.нереляционных.
баз.данных................................................................................................................................253

События.аутентификации.........................................................................................................253
Система.авторизации.(список.управления.доступом).и.роли.....................................254

Определение.правил.авторизации...................................................................................255
Фасад.Gate.(и.его.внедрение)............................................................................................256
Ресурсы.гейтов........................................................................................................................256
Authorize....................................................................................................................................257
Авторизация.внутри.контроллера...................................................................................257
Проверка.с.помощью.экземпляра.класса.User............................................................259
Проверки.с.помощью.Blade-директив............................................................................260
Перехват.проверок.................................................................................................................260
Политики..................................................................................................................................261

Тестирование.................................................................................................................................263
Резюме..............................................................................................................................................266

Глава 10. Запросы,.ответы.и.middleware....................................................................................267

Жизненный.цикл.запроса.в.Laravel.......................................................................................267

Начальная.загрузка.приложения.....................................................................................267
Сервис-провайдеры...............................................................................................................269

Объект.Request..............................................................................................................................271

Получение.объекта.Request.в.Laravel.............................................................................271
Получение.основной.информации.о.запросе...............................................................272

Объект.Response...........................................................................................................................276

Использование.и.создание.объектов.Response.в.контроллерах............................276
Специализированные.типы.ответов................................................................................277

Laravel.и.middleware....................................................................................................................283

Вводная.информация.о.middleware.................................................................................283
Создание.собственного.middleware.................................................................................284
Оглавление  13

Привязка.middleware............................................................................................................286
Передача.параметров.middleware.....................................................................................289

Доверенные.прокси-серверы....................................................................................................290
Тестирование.................................................................................................................................291
Резюме..............................................................................................................................................292

Глава 11. Контейнер..........................................................................................................................293

Вводная.информация.о.внедрении.зависимостей............................................................293
Внедрение.зависимостей.и.Laravel.........................................................................................295
Глобальный.хелпер.app()...........................................................................................................295
Как.осуществляется.привязка.к.контейнеру......................................................................296
Привязка.классов.к.контейнеру..............................................................................................297

Привязка.к.замыканию........................................................................................................298
Привязка.одиночек,.псевдонимов.и.экземпляров......................................................299
Привязка.конкретного.экземпляра.к.интерфейсу.....................................................300
Контекстная.привязка..........................................................................................................300

Внедрение.в.конструктор.в.файлах.Laravel........................................................................301
Внедрение.через.метод...............................................................................................................302
Фасады.и.контейнер....................................................................................................................303

Как.работают.фасады............................................................................................................304
Фасады.реального.времени................................................................................................305

Сервис-провайдеры.....................................................................................................................306
Тестирование.................................................................................................................................306
Резюме..............................................................................................................................................307

Глава 12. Тестирование....................................................................................................................308

Основы.тестирования.................................................................................................................309
Именование.тестов.......................................................................................................................313
Среда.тестирования.....................................................................................................................314
Трейты.тестирования..................................................................................................................314

RefreshDatabase.......................................................................................................................315
WithoutMiddleware...............................................................................................................315
DatabaseMigrations................................................................................................................315
DatabaseTransactions.............................................................................................................315

Простые.модульные.тесты........................................................................................................316
Как.осуществляется.тестирование.приложений...............................................................317
HTTP-тесты...................................................................................................................................318

Тестирование.простых.страниц.с.помощью.вызова.$this->get().
и.других.HTTP-вызовов......................................................................................................318
Тестирование.API.на.базе.JSON.с.помощью.вызова.$this->getJson().
и.других.HTTP-вызовов.на.базе.JSON..........................................................................319
Оглавление

Утверждения.в.отношении.объекта.$response............................................................320
Аутентификация.ответов....................................................................................................322
Ряд.других.настроек.HTTP-тестов..................................................................................323
Обработка.исключений.в.тестах.приложений.............................................................323

Тесты.базы.данных.......................................................................................................................324

Использование.фабрик.моделей.в.тестах......................................................................325
Заполнение.начальными.данными.в.тестах.................................................................325

Тестирование.других.систем.Laravel.....................................................................................325

Подделка.событий.................................................................................................................326
Подделка.фасадов.Bus.и.Queue.........................................................................................327
Подделка.фасада.Mail...........................................................................................................328
Подделка.фасада.Notification.............................................................................................329
Подделка.фасада.Storage.....................................................................................................330

Имитирование...............................................................................................................................331

Вводная.информация.об.имитировании.......................................................................331
Вводная.информация.о.Mockery......................................................................................331
Подделка.других.фасадов...................................................................................................334

Тестирование.команд.Artisan...................................................................................................335
Браузерные.тесты.........................................................................................................................336

Выбор.инструмента...............................................................................................................337
Тестирование.с.использованием.Dusk...........................................................................338

Резюме..............................................................................................................................................349

Глава 13. Создание.API....................................................................................................................350

Базовые.сведения.о.REST-подобных.API.на.базе.JSON................................................350
Организация.контроллеров.и.возвращаемые.JSON-сообщения.................................352
Чтение.и.отправка.заголовков.................................................................................................355

Отправка.заголовков.ответа.в.Laravel............................................................................356
Чтение.заголовков.запроса.в.Laravel..............................................................................356

Разбивка.на.страницы.в.Eloquent...........................................................................................356
Сортировка.и.фильтрация........................................................................................................358

Сортировка.результатов.API.............................................................................................359
Фильтрация.результатов.API............................................................................................360

Преобразование.результатов....................................................................................................361

Создание.собственного.преобразователя......................................................................362
Вложение.связей.пользовательских.преобразователей...........................................363

Ресурсы.API...................................................................................................................................365

Создание.класса.ресурса.....................................................................................................365
Коллекции.ресурсов.............................................................................................................366
Вложение.связей....................................................................................................................368
Оглавление  15

Применение.разбивки.на.страницы.к.ресурсам.API.................................................369
Условное.применение.атрибутов.....................................................................................370
Другие.настройки.для.ресурсов.API...............................................................................370

Аутентификация.API.с.помощью.Laravel.Passport..........................................................370

Вводная.информация.о.OAuth.2.0...................................................................................370
Установка.пакета.Passport..................................................................................................371
API.пакета.Passport...............................................................................................................373
Типы.допуска,.предлагаемые.пакетом.Passport..........................................................373
Управление.клиентами.и.токенами.с.помощью.API.пакета.Passport.
и.компонентов.Vue................................................................................................................382
Области.видимости.пакета.Passport...............................................................................384
Развертывание.пакета.Passport.........................................................................................386

Аутентификация.с.помощью.токенов.API..........................................................................386
Настройка.ответов.с.кодом.404...............................................................................................387
Тестирование.................................................................................................................................388
Резюме..............................................................................................................................................389

Глава 14. Сохранение.и.извлечение.данных.............................................................................390

Локальные.и.облачные.файловые.менеджеры...................................................................390

Настройка.доступа.к.файлам.............................................................................................390
Использование.фасада.Storage..........................................................................................392
Добавление.дополнительных.провайдеров.из.пакета.Flysystem..........................393

Базовые.способы.загрузки.файлов.на.сервер.и.манипулирования.файлами.........393
Простые.способы.скачивания.файлов..................................................................................395
Сессии...............................................................................................................................................395

Получение.доступа.к.сессии..............................................................................................395
Методы,.доступные.в.экземплярах.сессий....................................................................396
Флеш-память.сессии............................................................................................................398

Кэш....................................................................................................................................................398

Получение.доступа.к.кэшу.................................................................................................399
Методы,.доступные.в.экземплярах.кэшей....................................................................400

Cookie-файлы.................................................................................................................................401

Cookie-файлы.в.Laravel........................................................................................................401
Получение.доступа.к.cookie-файлам...............................................................................401

Логирование...................................................................................................................................404

Когда.и.зачем.следует.выполнять.логирование..........................................................405
Внесение.записей.в.логи......................................................................................................405
Каналы.логирования.............................................................................................................406

Полнотекстовый.поиск.с.использованием.Laravel.Scout...............................................409

Установка.пакета.Scout.......................................................................................................409
Пометка.модели.для.индексирования............................................................................410
Оглавление

Поиск.по.вашему.индексу...................................................................................................410
Очереди.и.Scout......................................................................................................................410
Выполнение.операций.без.индексирования.................................................................411
Условное.индексирование.моделей................................................................................411
Запуск.индексирования.вручную.с.помощью.кода...................................................411
Запуск.индексирования.вручную.с.помощью.интерфейса.
командной.строки..................................................................................................................412

Тестирование.................................................................................................................................412

Сохранение.файлов...............................................................................................................412
Сессия........................................................................................................................................414
Кэш..............................................................................................................................................415
Cookie-файлы..........................................................................................................................415
Логирование............................................................................................................................416
Scout...........................................................................................................................................417

Резюме..............................................................................................................................................417

Глава 15. Почта.и.уведомления.....................................................................................................418

Почта.................................................................................................................................................418

Классическая.электронная.почта.....................................................................................419
Простейший.способ.использования.отправлений.....................................................419
Шаблоны.писем......................................................................................................................421
Методы,.доступные.в.build().............................................................................................422
Прикрепленные.файлы.и.встроенные.изображения.................................................423
Markdown-отправления.......................................................................................................424
Визуализация.отправлений.в.браузере..........................................................................426
Очереди.....................................................................................................................................426
Локальная.разработка..........................................................................................................427

Уведомления..................................................................................................................................428

Определение.метода.via().для.уведомляемых.объектов..........................................431
Отправка.уведомлений........................................................................................................432
Помещение.уведомлений.в.очередь................................................................................432
Предлагаемые.по.умолчанию.типы.уведомлений......................................................433

Тестирование.................................................................................................................................437

Электронная.почта................................................................................................................437
Уведомления...........................................................................................................................438

Резюме..............................................................................................................................................438

Глава 16. Очереди,.задания,.события,.трансляция.и.планировщик.................................439

Очереди............................................................................................................................................439

Зачем.нужны.очереди...........................................................................................................440
Базовая.конфигурация.очередей......................................................................................440
Оглавление  17

Задания.в.очереди..................................................................................................................441
Запуск.обработчика.очередей............................................................................................444
Обработка.ошибок.................................................................................................................445
Управление.очередью...........................................................................................................447
Очереди.для.поддержки.других.функций.....................................................................448

Laravel.Horizon..............................................................................................................................448
События...........................................................................................................................................449

Запуск.события.......................................................................................................................449
Прослушивание.события....................................................................................................451

Трансляция.событий.посредством.веб-сокетов.и.Laravel.Echo...................................454

Конфигурация.и.настройка................................................................................................455
Трансляция.события.............................................................................................................455
Получение.сообщения..........................................................................................................458
Продвинутые.инструменты.трансляции.......................................................................460
Laravel.Echo.(сторона.JavaScript-кода)..........................................................................464

Планировщик.................................................................................................................................469

Доступные.типы.задач.........................................................................................................470
Доступные.временные.интервалы...................................................................................470
Определение.часовых.поясов.для.запланированных.задач....................................472
Блокирование.и.наложение................................................................................................472
Обработка.выходных.данных.задачи..............................................................................473
Перехват.задач........................................................................................................................474

Тестирование.................................................................................................................................474
Резюме..............................................................................................................................................476

Глава 17. Хелперы.и.коллекции....................................................................................................477

Хелперы...........................................................................................................................................477

Массивы....................................................................................................................................477
Строки........................................................................................................................................479
Пути.приложения..................................................................................................................481
URL-адреса..............................................................................................................................482
Прочее........................................................................................................................................484

Коллекции.......................................................................................................................................486

Базовые.сведения...................................................................................................................487
Некоторые.методы.................................................................................................................489

Резюме..............................................................................................................................................493

Глава 18. Экосистема.инструментов.Laravel............................................................................494

Инструменты,.рассмотренные.в.книге..................................................................................494

Valet............................................................................................................................................494
Homestead.................................................................................................................................494
Оглавление

Установщик.Laravel..............................................................................................................495
Mix...............................................................................................................................................495
Dusk............................................................................................................................................495
Passport......................................................................................................................................495
Horizon.......................................................................................................................................495
Echo.............................................................................................................................................496

Инструменты,.не.рассмотренные.в.книге............................................................................496

Forge...........................................................................................................................................496
Envoyer......................................................................................................................................496
Cashier........................................................................................................................................497
Socialite......................................................................................................................................498
Nova.............................................................................................................................................498
Spark...........................................................................................................................................498
Lumen.........................................................................................................................................498
Envoy..........................................................................................................................................499
Telescope....................................................................................................................................499

Другие.ресурсы.............................................................................................................................499

Глоссарий...............................................................................................................................................501

Об.авторе................................................................................................................................................511

Об.обложке............................................................................................................................................512
Эта книга посвящена моей семье.

Тебе, Миа, моя маленькая принцесса и источник радости и энергии.

Тебе, Малакай, мой маленький принц, искатель приключений и эмпат.

Тебе, Терева, мое вдохновение, мой мотиватор, мое ребро.
Предисловие

История.моего.знакомства.с.Laravel.вполне.заурядна:.много.лет.я.писал.код.на.PHP.
и.активно.изучал.потенциал.Rails.и.других.современных.веб-фреймворков..В.Rails.
меня.привлекало.прекрасное.сочетание.исходных.настроек.и.гибкости,.мощные.
возможности.системы.управления.пакетами.стандартного.кода.Ruby.Gems,.а.также.
наличие.активного.сообщества.программистов.

Я.так.и.не.перешел.на.Rails,.чему.был.безумно.рад,.когда.узнал.о.Laravel..Он.взял.
лучшее.от.Rails,.не.становясь.при.этом.его.клоном..Это.был.инновационный.фрейм-
ворк.с.отличной.документацией.и.доброжелательным.сообществом.

После.этого.я.начал.делиться.своим.опытом.изучения.Laravel:.вел.блог,.записывал.
подкасты.и.выступал.на.конференциях..С.помощью.Laravel.я.написал.десятки.
приложений.в.рамках.своей.основной.работы.и.дополнительных.проектов,.а.также.
познакомился.лично.и.в.режиме.онлайн.с.разработчиками,.использующими.этот.
фреймворк..Даже.имея.богатый.арсенал.инструментов.разработки,.я.наслаждаюсь,.
когда.набираю.в.командной.строке.laravel new projectName.

О чем эта книга

Это.не.первая.книга.о.Laravel.и.не.последняя..Я.не.стремился.объяснить.каждую.
строку.кода.или.шаблон.реализации,.поскольку.не.хотел.рассказывать.о.том,.что.
может.устареть.после.обновления.Laravel..Я.хотел.написать.книгу,.которая.предо-
ставляла.бы.разработчикам.обзор.и.давала.конкретные.примеры.требований.для.
работы.в.кодовых.базах.Laravel.с.использованием.любой.функции.или.подсистемы.
этого.фреймворка..Я.стремился.не.просто.дублировать.документацию,.а.помочь.
вам.понять.основополагающие.концепции.Laravel.

Laravel.—.это.мощный.и.гибкий.PHP-фреймворк.с.постоянно.растущим.сообще-
ством.программистов.и.широкой.экосистемой.инструментов,.что.с.каждым.днем.
повышает.его.привлекательность.и.доступность..Книга.предназначена.для.разра-
ботчиков,.которые.уже.знают,.как.создавать.сайты.и.приложения,.и.хотят.узнать,.
как.это.можно.эффективно.делать.с.помощью.Laravel.

Документация.Laravel.всесторонняя.и.качественная..Если.вам.кажется,.что.я.недо-
статочно.хорошо.осветил.определенную.тему,.то.рекомендую.ознакомиться.с.ее.более.
подробным.описанием.в.онлайн-документации.по.адресу.https://laravel.com/docs.
О втором издании  21

Надеюсь,.в.книге.вы.найдете.оптимальный.баланс.между.теорией.и.практикой.
в.виде.примеров.конкретного.применения,.а.по.прочтении.сможете.легко.написать.
с.помощью.Laravel.целое.приложение.с.нуля.

Для кого предназначена книга

Книга.подойдет.для.читателя,.знающего.базовые.методы.объектно-ориентированного.
программирования,.язык.PHP.(или.по.крайней.мере.общий.синтаксис.языков.C),.
а.также.базовые.концепции.архитектурного.паттерна.«Модель.—.Представление.—.
Контроллер».(Model.—.View.—.Controller,.MVC).и.обработки.шаблонов..Если.вы.
никогда.не.создавали.сайт,.материал.книги.может.оказаться.слишком.сложным..
Но.если.у.вас.есть.опыт.программирования,.то.не.обязательно.знать.что-то.о.Laravel.—.
я.объясню.все,.что.нужно,.начиная.с.простейшего.примера.Hello,.world!.

Laravel.может.работать.в.любой.операционной.системе,.но.приведенные.здесь.
примеры.команд.оболочки.bash.проще.запускать.в.Linux/macOS..Пользователям.
Windows.будет.сложнее.выполнять.эти.команды.и.в.целом.применять.современные.
средства.разработки.на.PHP,.однако,.следуя.инструкциям,.вы.сможете.установить.
Homestead.(виртуальную.машину.Linux).и.запускать.все.необходимые.команды.

Структура издания

В.этой.книге.я.старался.придерживаться.хронологического.порядка:.сначала.рас-
сматриваются.базовые.компоненты,.которые.вы.будете.применять.в.начале.созда-
ния.веб-приложения.с.помощью.Laravel,.а.затем.—.менее.фундаментальные.и.реже.
используемые.возможности.

Главы.организованы.так,.чтобы.незнакомые.с.фреймворком.пользователи.могли.
эффективно.усваивать.материал,.читая.книгу.по.порядку.

Большинство.глав.заканчивается.двумя.разделами:.«Тестирование».и.«Краткие.
итоги»..В.них.соответственно.показывается,.как.писать.тесты.для.описанных.воз-
можностей,.и.проводится.общий.обзор.рассмотренного.материала.

Книга.написана.для.Laravel.5.8,.но.охватывает.возможности.и.нововведения.син-
таксиса.предыдущих.версий,.начиная.с.Laravel.5.1.

О втором издании

Первое.издание.книги.вышло.в.ноябре.2016.года.и.освещало.возможности.версий.
Laravel.с.5.1.по.5.3..В.новом.издании.дополнительно.рассмотрены.возможности.
версий.5.4–5.8.и.инструментов.Laravel.Dusk.и.Laravel.Horizon,.а.также.добавлена.
глава.18,.посвященная.ресурсам.сообщества.и.дополнительным.пакетам.Laravel,.
которые.не.были.охвачены.в.первых.17.главах.
Предисловие

Условные обозначения

В.этой.книге.используются.следующие.типографские.обозначения.

Рубленый шрифт

Используется.для.выделения.URL-адресов.и.адресов.электронной.почты.

Курсивный шрифт

Применяется.для.выделения.новых.терминов.и.слов,.на.которых.сделан.акцент.

Моноширинный шрифт

Используется.для.записи.листингов.программ,.а.также.для.выделения.в.тексте.
таких.элементов,.как.имена.переменных.и.функций,.базы.данных,.типы.данных,.
переменные.среды,.операторы.и.ключевые.слова,.имена.и.расширения.файлов.

Полужирный моноширинный шрифт

Предназначен.для.выделения.команд.или.другого.текста,.который.должен.
вводиться.пользователем.без.каких-либо.изменений.

Курсивный моноширинный шрифт

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

{Курсивный моноширинный шрифт в фигурных скобках}

Используется.для.выделения.имен.файлов.или.путей.к.файлам,.которые.требу-
ется.заменить.предоставленными.пользователем.значениями.или.значениями,.
зависящими.от.контекста.

Так обозначается совет или предложение.

Так обозначается общее примечание.

Так обозначается предупреждение.

Поскольку.эта.книга.охватывает.возможности.Laravel.версий.5.1–5.8,.в.книге.ис-
пользуются.метки.для.обозначения.комментариев,.относящихся.к.той.или.иной.
конкретной.версии..В.общем.случае.такая.метка.указывает,.в.какой.версии.Laravel.
была.введена.рассматриваемая.возможность.(так,.например,.метка.«5.3».означает,.
что.рассматриваемая.возможность.доступна.только.в.Laravel.5.3.и.в.более.новых.
версиях).

Благодарности

Первое издание

Эта.книга.не.увидела.бы.свет.без.поддержки.моей.удивительной.жены.Теревы.
и.понимания.(«Папа.пишет,.дружище!»).моего.сына.Малакая..В.силу.возраста.моя.
дочь.Миа.не.осознавала.этого,.но.тоже.присутствовала.при.написании.книги,.и.по-
тому.я.посвящаю.книгу.своей.семье..Работа.заставила.меня.не.раз.засиживаться.
допоздна.и.проводить.выходные.дни.в.кофейнях.Starbucks,.и.я.очень.признателен.
жене.и.детям.за.то,.что.они.поддерживали.и.вдохновляли.меня.уже.одним.своим.
присутствием.

В.ходе.написания.книги.меня.также.поддерживал.и.подбадривал.весь.коллек-
тив.компании.Tighten,.а.некоторые.коллеги.даже.редактировали.примеры.кода.
(особенно.хочется.отметить.Кита.Дамиани).и.помогали.мне.разобраться.с.осо-
бенно.сложными.из.них.(например,.Адам.Уотан,.король.конвейера.коллекций)..
Дэн.Шитц,.мой.партнер.в.компании.Tighten,.великодушно.подстраховывал.меня,.
когда.приходилось.уходить.с.работы,.чтобы.поработать.над.книгой,.поддерживал.
и.ободрял;.а.Дейв.Хиккинг,.наш.операционный.менеджер,.помог.найти.место.для.
написания.в.моем.рабочем.графике.

Тейлор.Отвел.заслуживает.благодарности.и.уважения.за.создание.фреймворка.
Laravel,.что.обеспечило.работой.многих.людей.и.улучшило.жизнь.многих.разработ-
чиков..Самой.высокой.оценки.достойны.его.забота.о.разработчиках.и.его.усилия.по.
обращению.внимания.на.их.нужды.и.запросы,.созданию.позитивного.и.стимулиру-
ющего.сообщества..Кроме.того,.я.хочу.поблагодарить.его.как.доброго.друга,.способ-
ного.поддержать.и.подтолкнуть.к.новым.свершениям..Тейлор,.ты.—.лучший!

Спасибо.Джеффри.Вэю.—.одному.из.лучших.онлайн-преподавателей..Он.познако-
мил.меня.с.Laravel.и.продолжает.знакомить.с.этим.фреймворком.все.новых.и.новых.
людей..Он.также.прекрасный.человек,.и.я.очень.рад,.что.могу.называть.его.другом.

Спасибо.Джессу.Д’Амико,.Шону.Маккулу,.Йену.Лэндсману.и.Тейлору.за.то,.что.
увидели.во.мне.ценного.участника.конференций.и.предоставили.мне.платформу.
для.обучения..Спасибо.Дейлу.Риису.за.то,.что.помог.многим.людям.легко.освоить.
Laravel.на.заре.появления.этого.фреймворка.

Спасибо.всем,.кто.посвятил.свое.время.и.усилия.написанию.постов.в.блоге.по.
фреймворку.Laravel,.особенно.тем,.кто.был.в.числе.первых:.Эрику.Барнсу,.Крису.
Фидао,.Мэтту.Мачуге,.Джейсону.Льюису,.Райану.Табладе,.Дрису.Винтсу,.Максу.
Сургаю.и.многим.другим.

Благодарности  23

Бумажную книгу купить в Москве и в России с доставкой по всей России

Ниже показаны результаты поиска поисковой системы Яндекс. В результатах могут быть показаны как эта книга, так и похожие на нее по названию или автору.

  1. Книга: «Laravel. Полное руководство» — Мэтт Стаффер. | Лабиринт

    Купить книгу в интернет магазине Лабиринт

    Аннотация к книге «Laravel. Полное руководство«. Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним.

    www.labirint.ru

    Реклама

  2. Laravel. Полное руководство — купить книгу с доставкой…

    Купить книгу в интернет магазине Читай-город

    В книжном интернет-магазине «Читай-город» вы можете заказать книгу Laravel. Полное руководство по низкой цене.

    Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним.

    www.chitai-gorod.ru

    Реклама

  3. «Laravel Полное руководство» Мэтт Стаффер… | Лабиринт

    Интересные рецензии пользователей на книгу Laravel. Полное руководство Мэтт Стаффер: Классное чтиво. Решил с yii2 на laravel перейти, эта книга — единственное годное чтиво на русском.

    www.labirint.ru

    Реклама

  4. Канцтовары

    Купить книгу в интернет магазине My-shop

    Канцтовары: бумага, ручки, карандаши, тетради.
    Ранцы, рюкзаки, сумки.
    И многое другое.

    my-shop.ru

    Реклама

  5. Книга Laravel. Полное руководство. 2-е издание • Стаффер

    Купить книгу в интернет магазине Book24

    В наличии «Laravel. Полное руководство. 2-е издание» автора (Стаффер М.), Эксмо-АСТ в интернет-магазине Book24 со скидкой! Отрывок из книги, отзывы, фото, цитаты, обложка. Быстрая доставка по России • p5616654.

    Book24.ru

    Реклама

  6. Laravel. Полное руководство. Стаффер Мэтт — купить книгу…

    Полное руководство» (Стаффер Мэтт) в Интернет-магазине My-shop.ru. Низкая цена, доставка курьером и почтой, самовывоз.

    Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним.

    My-shop.ru

    Реклама

  7. Автор: Стаффер Мэтт | новинки 2023 | книжный интернет-магазин…

    Лучшие и новые книги 2023 автора: Стаффер Мэтт в интернет-магазине Лабиринт.

    Полное руководство. Стаффер Мэтт.

    www.labirint.ru

    Реклама

  8. Стаффер М. | Купить книги автора в интернет-магазине…

    Стаффер М. — cписок всех книг авторa, лучшие произведения и новинки. Купить книги авторa Стаффер М. в интернет-магазине «Читай-город» с бесплатной доставкой по России.

    Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую тему, чтобы реализовать проект на Laravel.

    www.chitai-gorod.ru

    Реклама

  9. Серия книг Бестселлеры O`Reilly | издательство Питер | Лабиринт

    Большие проекты вырастают из малого. Так 30 лет назад с тоненькой брошюрки компьютерной тематики — руководства для пользователей и программистов — началась история издательского дома «Питер», которое на сегодняшний день является ведущим на Северо-Западе в сегменте отраслевой профессиональной литературы.

    Мэтт СтафферLaravel. Полное руководство обложка книги. Нет в продаже.

    www.labirint.ru

    Реклама

  10. Мэтт С. «Laravel. 2-е изд.» — Нехудожественная литература…

    Купить книгу в интернет магазине Яндекс Маркет

    Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую тему, чтобы реализовать проект на Laravеl.

    market.yandex.ru

    Реклама

  11. Владимир Сауль купить продукцию | Лабиринт

    Сауль Владимир. Мэтт СтафферLaravel. Полное руководство обложка книги.

    Мультимедиа для школьников и студентов. Программное обеспечение и обучение работе на ПК. Руководства, справочники и энциклопедии.

    www.labirint.ru

    Реклама

  12. Книги из серии «Бестселлеры O’Reilly» издательства Прогресс книга

    Что отличает Laravel от других PHP-фреймворков? Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним. Опытным PHP-разработчикам книга поможет быстро войти в новую тему, чтобы реализовать проект на Laravel.

    www.chitai-gorod.ru

    Реклама

  13. Книги информационные технологии – купить книги про компьютеры…

    Информационные технологии купить в интернет-магазине book24.ru. 4466 книг в каталоге. Гарантия качества. Бесплатная доставка от 999р. Персональная бонусная программа. 8 (800) 333-65-23 — страница 79.

    Book24.ru

    Реклама

  14. Книги по программированию – купить книги по алгоритмам…

    Программирование купить в интернет-магазине book24.ru. 1363 книг в каталоге. Гарантия качества. Бесплатная доставка от 999р. Персональная бонусная программа. 8 (800) 333-65-23 — страница 26.

    Book24.ru

    Реклама

  15. Серия книг Бестселлеры O`Reilly — книжные серии и сборники…

    Book24: Бестселлеры O`Reilly купить в интернет-магазине book24.ru. Бесплатная доставка от 999р. Отправка в день заказа. Бонусная программа. Читайте рецензию и отзывы реальных покупателей. 6117633 8 (800) 333-65-23 — страница 2…

    Book24.ru

    Реклама

  16. Автор: Гринчик Н | новинки 2023 | книжный интернет-магазин…

    УЖЕ ПОКУПАЛИ. Мэтт СтафферLaravel. Полное руководство обложка книги.

    Полное руководство. Стаффер Мэтт. Питер: Бестселлеры O`Reilly.

    www.labirint.ru

    Реклама

  17. Каталог книг в интернет магазине Book24: заказать книги…

    Закажите книги с доставкой почтой, курьером или в ближайший к вам пункт выдачи заказов на Book24. Официальный интернет магазин издательской группы ЭКСМО-АСТ Низкие цены Бесплатная доставка от 999р Гарантия качества Скидки и кэшбэк 8 (800) 333-65-23 — страница 9105.

    Book24.ru

    Реклама

  18. Научная литература — купить книги по технической и научной…

    Научно-популярная литература купить в интернет-магазине book24.ru. 79998 книг в каталоге. Гарантия качества. Бесплатная доставка от 999р. Персональная бонусная программа. 8 (800) 333-65-23 — страница 966.

    Book24.ru

    Реклама

  19. Иллюстрация 7 из 9 для Создание сайтов своими руками на…

    «Выразительный JavaScript. Современное веб-программирование»,Хавербеке Марейн. «Laravel. Полное руководство«,Стаффер Мэтт. «Интерфейс. Основы проектирования взаимодействия»,Купер Алан и др.

    www.labirint.ru

    Реклама

  20. Книга: «Laravel 8. Быстрая разработка веб-сайтов на…» | Лабиринт

    Книга представляет собой полное описание фреймворка Laravel 8 для быстрой разработки сайтов на языке PHP. Дан краткий вводный курс для начинающих, в котором описывается разработка простого учебного сайта — электронной доски объявлений. Раскрыты основы программирования сайтов на Laravel. Приведено наиболее полное описание инструментов Laravel: моделей, контроллеров, шаблонов, средств обработки пользовательского ввода, включая валидаторы, сохранения выгруженных файлов, разграничения доступа, обработки…

    www.labirint.ru

    Реклама

  21. Иллюстрация 6 из 13 для Joomla! 3.0. Официальное руководство

    Шестая иллюстрация к книге Joomla! 3.0. Официальное руководство — Мэрриотт, Уоринг.

    «Использование Docker»,Моуэт Эдриен. «HTTP/2 в действии»,Поллард Барри. «Laravel. Полное руководство«,Стаффер Мэтт. «Обработка естественного языка.

    www.labirint.ru

    Реклама

  22. Иллюстрация 8 из 10 для PHP. Рецепты программирования…

    «Использование Docker»,Моуэт Эдриен. «Laravel. Полное руководство«,Стаффер Мэтт. «Объектно-ориентированное программирование в С++»,Лафоре Роберт. «Карьера программиста»,Лакман Макдауэлл Гейл.

    www.labirint.ru

    Реклама

  23. Иллюстрация 11 из 14 для Основы разработки веб-приложений…

    «Паттерны разработки на Python. TDD, DDD и событийно-ориентированная архитектура»,Персиваль Гарри, Грегори Боб. «Laravel. Полное руководство«,Стаффер Мэтт. «Искусство программирования. Том 1. Основные алгоритмы»,Кнут Дональд Эрвин.

    www.labirint.ru

    Реклама

  24. Иллюстрация 13 из 16 для Полезное программирование.

    «Laravel. Полное руководство«,Стаффер Мэтт. «Совершенный алгоритм. Алгоритмы для NP-трудных задач»,Рафгарден Тим. «JavaScript. Полное руководство«,Флэнаган Дэвид. «Язык программирования С++. Специальное издание»,Страуструп Бьерн.

    www.labirint.ru

    Реклама

  25. Иллюстрация 9 из 11 для IntelliJ IDEA. Профессиональное…

    «Laravel. Полное руководство«,Стаффер Мэтт. «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5»,Никсон Робин. «Программирование на Java для начинающих»,Васильев Алексей Николаевич.

    www.labirint.ru

    Реклама

  26. Иллюстрация 12 из 19 для Android. Программирование для…

    «Laravel. Полное руководство«,Стаффер Мэтт. «Python для всех»,Северанс Чарльз Р.

    www.labirint.ru

    Реклама

  27. Иллюстрация 12 из 24 для JavaScript и jQuery. Исчерпывающее…

    Двенадцатая иллюстрация к книге JavaScript и jQuery. Исчерпывающее руководство — Дэвид Макфарланд.

    «Laravel. Полное руководство«,Стаффер Мэтт. «Python для всех»,Северанс Чарльз Р.

    www.labirint.ru

    Реклама

  28. Иллюстрация 23 из 26 для Программирование на Java и C# для…

    «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ»,Уильямс Энтони. «Laravel. Полное руководство«,Стаффер Мэтт.

    Полное руководство«,Шилдт Герберт. «Как программировать на С»,Дейтел Харви, Дейтел Пол Дж.

    www.labirint.ru

    Реклама

  29. Иллюстрация 11 из 16 для Linux. Руководство программиста…

    Одиннадцатая иллюстрация к книге Linux. Руководство программиста — Джон Фуско.

    «Laravel. Полное руководство«,Стаффер Мэтт.

    www.labirint.ru

    Реклама

  30. Иллюстрация 21 из 24 для JavaScript на примерах.

    «Laravel. Полное руководство«,Стаффер Мэтт.

    www.labirint.ru

    Реклама

  31. Иллюстрация 30 из 51 для Программирование в C++ Builder…

    «Искусство тестирования программ»,Сандлер Кори и др. «Как программировать на С++»,Дейтел Харви, Дейтел Пол Дж. «Laravel. Полное руководство«,Стаффер Мэтт. «1400 задач по программированию»,Златопольский Дмитрий Михайлович.

    www.labirint.ru

    Реклама

  32. Книга Laravel для web-разработчиков. Практическое руководство

    Практическое руководство по созданию профессиональных сайтов» автора (Кириченко А. и др.), Эксмо-АСТ в интернет-магазине Book24 со скидкой! Отрывок из книги, отзывы, фото, цитаты, обложка. Быстрая доставка по России • p6115857.

    Book24.ru

    Реклама

  33. Иллюстрация 10 из 19 для Моделирование электротехнических…

    «Laravel. Полное руководство«,Стаффер Мэтт. «Алгоритмы.

    www.labirint.ru

    Реклама

Электронные книги купить в России, СНГ и по всему миру

Ниже показаны результаты поиска поисковой системы Яндекс. В результатах могут быть показаны как эта книга, так и похожие на нее по названию или автору.

  1. Laravel. Полное руководство — Мэтт Стаффер | Литрес

    Купить электронную книгу в интернет магазине Литрес

    Полное руководство, Мэтт Стаффер в pdf или читать онлайн! Оставляйте и читайте отзывы о книге на Литрес! Скорость и простота. Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют быстро создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Мэтт Стаффер, известный преподаватель и ведущий разработчик, предлагает как общий обзор фреймворка, так и конкретные примеры работы с ним.

    www.litres.ru

    Реклама

  2. Отзывы о книге «Laravel. Полное руководство», рецензии на…

    Читайте лучшие рецензии и отзывы читателей Литрес на книгу «Laravel. Полное руководство» Мэтт Стаффер.

    www.litres.ru

    Реклама

  3. Мэтт Стаффер — Новинки книг 2023 – скачать или читать онлайн

    Мэтт Стаффер Последние новинки книг автора 2023 года. Медицина и здоровье. Секс / секс-руководства. Красота. Laravel. Полное руководство.

    www.litres.ru

    Реклама

  4. Все книги Мэтт Стаффер | Читать онлайн лучшие книги автора на…

    На Литрес вы найдете все книги Мэтт Стаффер. Скачивайте, читайте или оставляйте отзывы.

    Электронные книги на русском. Бестселлеры O’Reilly (Питер). Laravel. Полное руководство. 609 ₽.

    www.litres.ru

    Реклама

  5. Фреймворки – книги и аудиокниги – скачать, слушать или читать…

    «Фреймворки» – скачивайте книги и аудиокниги в любом формате на сайте электронной библиотеке Литрес или читайте онлайн бесплатно.

    www.litres.ru

    Реклама

  6. PHP – книги и аудиокниги – скачать, слушать или читать онлайн…

    PDF. Мэтт Стаффер. Laravel. Полное руководство. 0. 0. PDF. Владимир Дронов. Laravel 8. Быстрая разработка веб-сайтов на PHP.

    www.litres.ru

    Реклама

  7. Книги, похожие на «Laravel. Полное руководство»

    Подборка, 11 книг. Книги, похожие на «Laravel. Полное руководство».

    Практическое руководство по изучению языков программирования. 4,0.

    www.litres.ru

    Реклама

  8. PHP – новинки книг и аудиокниг скачать, слушать или читать…

    Laravel 8. Быстрая разработка веб-сайтов на PHP. Читать. Дмитрий Приходько.

    Мэтт Стаффер. Laravel. Полное руководство. 3,9. 9.

    www.litres.ru

    Реклама

  9. Марк Лой – серия книг Бестселлеры O’Reilly (Питер) – скачать по…

    PDF. Мэтт Стаффер. Laravel. Полное руководство. 5,0. 3.

    www.litres.ru

    Реклама

  10. «Laravel 8. Быстрая разработка веб-сайтов на PHP», Владимир…

    Книга представляет собой полное описание фреймворка Laravel 8 для быстрой разработки сайтов на языке PHP. Дан краткий вводный курс для начинающих, в котором описывается разработка простого учебного сайта – электронной доски объявлений. Раскрыты основы программирования сайтов на Laravel. Приведено наиболее полное описание инструментов Laravel: моделей, контроллеров, шаблонов, средств обработки пользовательского ввода, включая валидаторы, сохранения выгруженных файлов, разграничения доступа, обработки…

    www.litres.ru

    Реклама

На данной странице Вы можете найти лучшие предложения для покупки книги «Laravel, Полное руководство, Стаффер М., 2020» по лучшей цене в интернет магазинах Лабиринт, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru, Литгид, Озон.

В этих официальных книжных интернет-магазинах вы можете купить недорого бумажную и электронную книгу по самой дешевой цене с доставкой по России и в другие страны. Также в этих магазинах можно купить книжные новинки и бестселлеры.

Официальные сайты интернет-магазинов по продаже книг в России и по всему миру:

  • Лабиринт
  • Читай-город
  • Яндекс Маркет
  • My-shop
  • Литрес
  • Book24
  • УчМаг

Для формирования результатов поиска книг использован сервис Яндекс.XML.

Нашлось 10 млн ответов. Показаны первые 43 результата(ов).

Дата генерации страницы: пятница, 7 апреля 2023 г., 3:54:48 GMT

Понравилась статья? Поделить с друзьями:
  • Генферон капли в нос инструкция для детей цена
  • Симилак гипоаллергенный для новорожденных инструкция по применению для новорожденных
  • Отвертка индикаторная ои 2э ekf инструкция по применению
  • Препарат позитив инструкция по применению цена отзывы
  • Инструкция по охране труда медицинская сестра анестезист