diff --git a/artisan.md b/artisan.md index f247b81b..9b3af28e 100644 --- a/artisan.md +++ b/artisan.md @@ -1,31 +1,9 @@ -git 9c575f87fa5b8f88c8f28def6bd3c7ef2a338108 - +--- +git: 9c575f87fa5b8f88c8f28def6bd3c7ef2a338108 --- # Консоль Artisan -- [Введение](#introduction) - - [Tinker (REPL)](#tinker) -- [Написание команд](#writing-commands) - - [Генерация команд](#generating-commands) - - [Структура команды](#command-structure) - - [Анонимные команды](#closure-commands) -- [Определение вводимых данных](#defining-input-expectations) - - [Аргументы](#arguments) - - [Параметры](#options) - - [Массивы данных](#input-arrays) - - [Описания вводимых данных](#input-descriptions) -- [Ввод/вывод команды](#command-io) - - [Получение входных данных](#retrieving-input) - - [Запрос для ввода данных](#prompting-for-input) - - [Вывод данных](#writing-output) -- [Регистрация команд](#registering-commands) -- [Программное выполнение команд](#programmatically-executing-commands) - - [Вызов команд из других команд](#calling-commands-from-other-commands) -- [Обработка сигналов](#signal-handling) -- [Настройка заготовок команд (stubs)](#stub-customization) -- [События](#events) - ## Введение diff --git a/authentication.md b/authentication.md index 0918f758..2aa69bdc 100644 --- a/authentication.md +++ b/authentication.md @@ -1,37 +1,9 @@ -git 9ae79ac7e1f9f55edd89ee3ca0e2b7024c9e4cfb - +--- +git: 9ae79ac7e1f9f55edd89ee3ca0e2b7024c9e4cfb --- # Аутентификация -- [Введение](#introduction) - - [Стартовые комплекты](#starter-kits) - - [Рекомендации по базе данных](#introduction-database-considerations) - - [Обзор экосистемы](#ecosystem-overview) -- [Быстрый запуск аутентификации](#authentication-quickstart) - - [Установка стартовых комплектов](#install-a-starter-kit) - - [Получение аутентифицированного пользователя](#retrieving-the-authenticated-user) - - [Защита маршрутов](#protecting-routes) - - [Частота попыток входа в приложение](#login-throttling) -- [Самостоятельная реализация аутентификации пользователей](#authenticating-users) - - [Запоминание пользователей](#remembering-users) - - [Другие методы аутентификации](#other-authentication-methods) -- [Basic HTTP-аутентификация](#http-basic-authentication) - - [Basic HTTP-аутентификация без сохранения состояния](#stateless-http-basic-authentication) -- [Выход из приложения](#logging-out) - - [Аннулирование сессий на других устройствах](#invalidating-sessions-on-other-devices) -- [Подтверждение пароля](#password-confirmation) - - [Конфигурация подтверждения пароля](#password-confirmation-configuration) - - [Маршрутизация подтверждения пароля](#password-confirmation-routing) - - [Защита маршрутов](#password-confirmation-protecting-routes) -- [Добавление своих охранников аутентификации](#adding-custom-guards) - - [Анонимные охранники аутентификации на базе HTTP-запросов](#closure-request-guards) -- [Добавление своих провайдеров пользователей](#adding-custom-user-providers) - - [Контракт `UserProvider`](#the-user-provider-contract) - - [Контракт `Authenticatable`](#the-authenticatable-contract) -- [Аутентификация через социальные сети](#socialite) -- [События](#events) - ## Введение @@ -655,7 +627,7 @@ Laravel также предлагает механизм для «выхода» - Метод `retrieveByCredentials` принимает массив учетных данных, переданный методу `Auth::attempt` при попытке аутентификации в приложении. Затем метод должен «запросить» у постоянного хранилища пользователя, соответствующего этим учетным данным. Как правило, этот метод запускает запрос с условием `WHERE`, который ищет запись пользователя с «именем пользователя», равнозначным `$credentials['имя пользователя']`. Метод должен возвращать реализацию `Authenticatable`. **Этот метод не должен пытаться выполнить проверку пароля или аутентификацию.** -- Метод validateCredentials должен сравнивать переданный `$user` с `$credentials` для аутентификации пользователя. Например, этот метод обычно использует метод `Hash::check` для сравнения значения `$user->getAuthPassword()` со значением `$credentials['password']`. Этот метод должен возвращать `true` или `false`, указывая, действителен ли пароль. +- Метод `validateCredentials` должен сравнивать переданный `$user` с `$credentials` для аутентификации пользователя. Например, этот метод обычно использует метод `Hash::check` для сравнения значения `$user->getAuthPassword()` со значением `$credentials['password']`. Этот метод должен возвращать `true` или `false`, указывая, действителен ли пароль. ### Контракт `Authenticatable` diff --git a/authorization.md b/authorization.md index f19fcbd4..a518a192 100644 --- a/authorization.md +++ b/authorization.md @@ -1,32 +1,9 @@ -git 3e3b8fe42e7bd6eb6d955259ff6f2649d314262e - +--- +git: 3e3b8fe42e7bd6eb6d955259ff6f2649d314262e --- # Авторизация -- [Введение](#introduction) -- [Шлюзы (Gate)](#gates) - - [Написание шлюзов](#writing-gates) - - [Авторизация действий через шлюзы](#authorizing-actions-via-gates) - - [Ответы шлюза](#gate-responses) - - [Хуки шлюзов](#intercepting-gate-checks) - - [Встроенная авторизация](#inline-authorization) -- [Создание политик](#creating-policies) - - [Генерация политик](#generating-policies) - - [Регистрация политик](#registering-policies) -- [Написание политик](#writing-policies) - - [Методы политики](#policy-methods) - - [Ответы политики](#policy-responses) - - [Методы политики без моделей](#methods-without-models) - - [Гостевые пользователи](#guest-users) - - [Фильтры политики](#policy-filters) -- [Авторизация действий с помощью политик](#authorizing-actions-using-policies) - - [Через модель User](#via-the-user-model) - - [Через помощников контроллера](#via-controller-helpers) - - [Через посредника](#via-middleware) - - [Через шаблоны Blade](#via-blade-templates) - - [Предоставление дополнительного контекста политики](#supplying-additional-context) - ## Введение diff --git a/billing.md b/billing.md index 53cac8c9..cf62d9a7 100644 --- a/billing.md +++ b/billing.md @@ -1,64 +1,5 @@ # Laravel Cashier (Stripe) -- [Введение](#introduction) -- [Обновление Cashier](#upgrading-cashier) -- [Установка](#installation) - - [Миграции](#database-migrations) -- [Конфигурация](#configuration) - - [Платная модель](#billable-model) - - [API ключи](#api-keys) - - [Конфигурация валюты](#currency-configuration) - - [Логирование](#logging) - - [Использование пользовательских моделей](#using-custom-models) -- [Клиенты](#customers) - - [Получение клиентов](#retrieving-customers) - - [Создание клиентов](#creating-customers) - - [Обновление клиентов](#updating-customers) - - [Биллинг портал](#billing-portal) -- [Способы оплаты](#payment-methods) - - [Добавление способов оплаты](#storing-payment-methods) - - [Получение способов оплаты](#retrieving-payment-methods) - - [Определение, если у пользователя есть способ оплаты](#check-for-a-payment-method) - - [Обновление способа оплаты по умолчанию](#updating-the-default-payment-method) - - [Добавление способа оплаты](#adding-payment-methods) - - [Удаление способа оплаты](#deleting-payment-methods) -- [Подписки](#subscriptions) - - [Создание подписок](#creating-subscriptions) - - [Проверка статуса подписки](#checking-subscription-status) - - [Изменение планов](#changing-plans) - - [Количество подписки](#subscription-quantity) q - - [Многопланированные подписки](#multiplan-subscriptions) - - [Измеренный биллинг](#metered-billing) - - [Налоги подписки](#subscription-taxes) - - [Дата якора подписки](#subscription-anchor-date) - - [Отмена подписки](#cancelling-subscriptions) - - [Возобновление подписок](#resuming-subscriptions) -- [Пробные подписки](#subscription-trials) - - [Со способом оплаты](#with-payment-method-up-front) - - [Без способа оплаты](#without-payment-method-up-front) - - [Расширенные пробники](#extending-trials) -- [Обработка Stripe веб-хуков](#handling-stripe-webhooks) - - [Определение веб-хука событий](#defining-webhook-event-handlers) - - [Проверка подписей веб-хука](#verifying-webhook-signatures) -- [Разовые сборы](#single-charges) - - [Разовый сбор](#simple-charge) - - [Сбор со счетом](#charge-with-invoice) - - [Возврат сборов](#refunding-charges) -- [Оформление](#checkout) - - [Оформление заказа продукта](#product-checkouts) - - [Одиночный сбор оформлений](#single-charge-checkouts) - - [Оформление заказа подписки](#subscription-checkouts) - - [Стиализация кнопки оформления заказа](#styling-the-checkout-button) -- [Счета](#invoices) - - [Получение счетов](#retrieving-invoices) - - [Генерация счетов PDF](#generating-invoice-pdfs) -- [Обработка неудачных платежей](#handling-failed-payments) -- [Аутентификация клиентов(SCA)](#strong-customer-authentication) - - [Платежи, требующие дополнительного подтверждения](#payments-requiring-additional-confirmation) - - [Уведомления об оплате вне сессии](#off-session-payment-notifications) -- [Stripe SDK](#stripe-sdk) -- [Тестирование](#testing) - ## Introduction diff --git a/blade.md b/blade.md index 3fcdc26a..e221e07b 100644 --- a/blade.md +++ b/blade.md @@ -1,46 +1,9 @@ -git f915263c18328b07e827d382b871f78ef486050b - +--- +git: f915263c18328b07e827d382b871f78ef486050b --- # Шаблонизатор Blade -- [Введение](#introduction) -- [Отображение данных](#displaying-data) - - [Преобразование в HTML-сущности](#html-entity-encoding) - - [Blade и JavaScript фреймворки](#blade-and-javascript-frameworks) -- [Директивы Blade](#blade-directives) - - [Операторы If](#if-statements) - - [Операторы Switch](#switch-statements) - - [Циклы](#loops) - - [Переменная Loop](#the-loop-variable) - - [Css-классы по условию](#conditional-classes) - - [Подключение дочерних шаблонов](#including-subviews) - - [Директива `@once`](#the-once-directive) - - ["Сырой" PHP](#raw-php) - - [Комментарии](#comments) -- [Компоненты](#components) - - [Отрисовка компонентов](#rendering-components) - - [Передача данных компонентам](#passing-data-to-components) - - [Атрибуты компонента](#component-attributes) - - [Зарезервированные ключевые слова](#reserved-keywords) - - [Слоты](#slots) - - [Встроенные шаблоны компонентов](#inline-component-views) - - [Анонимные компоненты](#anonymous-components) - - [Динамические компоненты](#dynamic-components) - - [Самостоятельная регистрация компонентов](#manually-registering-components) -- [Создание макетов](#building-layouts) - - [Макеты с использованием компонентов](#layouts-using-components) - - [Макеты с использованием наследования шаблонов](#layouts-using-template-inheritance) -- [Формы](#forms) - - [Поле CSRF](#csrf-field) - - [Поле Method](#method-field) - - [Ошибки валидации](#validation-errors) -- [Стеки](#stacks) -- [Внедрение служб](#service-injection) -- [Расширение Blade](#extending-blade) - - [Пользовательские обработчики вывода](#custom-echo-handlers) - - [Пользовательские операторы If](#custom-if-statements) - ## Введение @@ -1195,11 +1158,11 @@ Blade автоматически обнаружит класс, связанны Теперь, когда мы определили наш макет и шаблоны списка задач, нам просто нужно вернуть представление `task` из маршрута: -use App\Models\Task; - -Route::get('/tasks', function () { - return view('tasks', ['tasks' => Task::all()]); -}); + use App\Models\Task; + + Route::get('/tasks', function () { + return view('tasks', ['tasks' => Task::all()]); + }); ### Макеты с использованием наследования шаблонов @@ -1263,7 +1226,7 @@ Route::get('/tasks', function () { Директива `@yield` также принимает значение по умолчанию в качестве второго параметра. Это значение будет отображено, если дополняемый раздел не определен: -@yield('content', 'Default content') + @yield('content', 'Default content') ## Формы diff --git a/broadcasting.md b/broadcasting.md index 965b35bc..48f50665 100644 --- a/broadcasting.md +++ b/broadcasting.md @@ -1,47 +1,9 @@ -git 7bd089d98d0fc153b3cd198529fb7d12ced74ca1 - +--- +git: a87acf9c8db49b96797258c227d8be8d305d9a33 --- # Трансляция (broadcast) событий -- [Введение](#introduction) -- [Установка на стороне сервера](#server-side-installation) - - [Конфигурирование](#configuration) - - [Pusher Channels](#pusher-channels) - - [Ably](#ably) - - [Альтернативы с открытым исходным кодом](#open-source-alternatives) -- [Установка на стороне клиента](#client-side-installation) - - [Pusher Channels](#client-pusher-channels) - - [Ably](#client-ably) -- [Обзор концепции](#concept-overview) - - [Пример использования](#using-example-application) -- [Определение транслируемых событий](#defining-broadcast-events) - - [Имя транслируемого события](#broadcast-name) - - [Данные трансляции](#broadcast-data) - - [Очередь трансляции](#broadcast-queue) - - [Условия трансляции](#broadcast-conditions) - - [Трансляция и транзакции базы данных](#broadcasting-and-database-transactions) -- [Авторизация каналов](#authorizing-channels) - - [Определение маршрутов авторизации](#defining-authorization-routes) - - [Определение авторизации канала](#defining-authorization-callbacks) - - [Определение класса канала](#defining-channel-classes) -- [Трансляция событий](#broadcasting-events) - - [Трансляция событий только остальным пользователям](#only-to-others) - - [Настройка подключения](#customizing-the-connection) -- [Прием трансляций](#receiving-broadcasts) - - [Прослушивание событий](#listening-for-events) - - [Покидание канала](#leaving-a-channel) - - [Пространства имён](#namespaces) -- [Каналы присутствия](#presence-channels) - - [Авторизация каналов присутствия](#authorizing-presence-channels) - - [Присоединение к каналам присутствия](#joining-presence-channels) - - [Трансляция на каналы присутствия](#broadcasting-to-presence-channels) -- [Трансляция моделей](#model-broadcasting) - - [Соглашение о трансляции моделей](#model-broadcasting-conventions) - - [Прослушивание трансляций моделей](#listening-for-model-broadcasts) -- [Клиентские события](#client-events) -- [Уведомления](#notifications) - ## Введение @@ -256,7 +218,7 @@ window.Echo = new Echo({ namespace App\Events; - use App\Order; + use App\Models\Order; use Illuminate\Broadcasting\Channel; use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\PresenceChannel; diff --git a/cache.md b/cache.md index 12c08415..c2f8427f 100644 --- a/cache.md +++ b/cache.md @@ -1,30 +1,8 @@ -git 86964eb6ea30d7693e6b13de717ef0cf21b09d91 - +--- +git: 86964eb6ea30d7693e6b13de717ef0cf21b09d91 --- -# Кеш приложения - -- [Введение](#introduction) -- [Конфигурирование](#configuration) - - [Предварительная подготовка драйверов](#driver-prerequisites) -- [Управление кешем приложения](#cache-usage) - - [Получение экземпляра кеша](#obtaining-a-cache-instance) - - [Получение элементов из кеша](#retrieving-items-from-the-cache) - - [Сохранение элементов в кеше](#storing-items-in-the-cache) - - [Удаление элементов из кеша](#removing-items-from-the-cache) - - [Глобальный помощник кеша](#the-cache-helper) -- [Тегированный кеш](#cache-tags) - - [Сохранение элементов тегированного кеша](#storing-tagged-cache-items) - - [Доступ к элементам тегированного кеша](#accessing-tagged-cache-items) - - [Удаление элементов тегированного кеша](#removing-tagged-cache-items) -- [Атомарные блокировки](#atomic-locks) - - [Предварительная подготовка драйверов](#lock-driver-prerequisites) - - [Управление блокировками](#managing-locks) - - [Управление блокировками между процессами](#managing-locks-across-processes) -- [Добавление собственных драйверов кеша](#adding-custom-cache-drivers) - - [Написание драйвера кеша](#writing-the-driver) - - [Регистрация драйвера кеша](#registering-the-driver) -- [События](#events) +# Кэширование ## Введение diff --git a/cashier-paddle.md b/cashier-paddle.md index 7240bfd3..107d08b4 100644 --- a/cashier-paddle.md +++ b/cashier-paddle.md @@ -1,65 +1,5 @@ # Laravel Cashier (Paddle) -- [Laravel Cashier (Paddle)](#laravel-cashier-paddle) - - [Introduction](#introduction) - - [Upgrading Cashier](#upgrading-cashier) - - [Installation](#installation) - - [Paddle Sandbox](#paddle-sandbox) - - [Database Migrations](#database-migrations) - - [Configuration](#configuration) - - [Billable Model](#billable-model) - - [API Keys](#api-keys) - - [Paddle JS](#paddle-js) - - [Currency Configuration](#currency-configuration) - - [Overriding Default Models](#overriding-default-models) - - [Core Concepts](#core-concepts) - - [Pay Links](#pay-links) - - [Manually Rendering Pay Links](#manually-rendering-pay-links) - - [Inline Checkout](#inline-checkout) - - [Inline Checkout Without Pay Links](#inline-checkout-without-pay-links) - - [Manually Rendering An Inline Checkout](#manually-rendering-an-inline-checkout) - - [User Identification](#user-identification) - - [Prices](#prices) - - [Customers](#customers) - - [Coupons](#coupons) - - [Customers](#customers-1) - - [Customer Defaults](#customer-defaults) - - [Subscriptions](#subscriptions) - - [Creating Subscriptions](#creating-subscriptions) - - [Additional Details](#additional-details) - - [Coupons](#coupons-1) - - [Metadata](#metadata) - - [Checking Subscription Status](#checking-subscription-status) - - [Cancelled Subscription Status](#cancelled-subscription-status) - - [Past Due Status](#past-due-status) - - [Subscription Scopes](#subscription-scopes) - - [Subscription Single Charges](#subscription-single-charges) - - [Updating Payment Information](#updating-payment-information) - - [Changing Plans](#changing-plans) - - [Prorations](#prorations) - - [Subscription Quantity](#subscription-quantity) - - [Subscription Modifiers](#subscription-modifiers) - - [Retrieving Modifiers](#retrieving-modifiers) - - [Deleting Modifiers](#deleting-modifiers) - - [Pausing Subscriptions](#pausing-subscriptions) - - [Cancelling Subscriptions](#cancelling-subscriptions) - - [Subscription Trials](#subscription-trials) - - [With Payment Method Up Front](#with-payment-method-up-front) - - [Defining Trial Days In Paddle / Cashier](#defining-trial-days-in-paddle--cashier) - - [Without Payment Method Up Front](#without-payment-method-up-front) - - [Handling Paddle Webhooks](#handling-paddle-webhooks) - - [Webhooks & CSRF Protection](#webhooks--csrf-protection) - - [Defining Webhook Event Handlers](#defining-webhook-event-handlers) - - [Verifying Webhook Signatures](#verifying-webhook-signatures) - - [Single Charges](#single-charges) - - [Simple Charge](#simple-charge) - - [Charging Products](#charging-products) - - [Refunding Orders](#refunding-orders) - - [Receipts](#receipts) - - [Past & Upcoming Payments](#past--upcoming-payments) - - [Handling Failed Payments](#handling-failed-payments) - - [Testing](#testing) - ## Introduction diff --git a/collections.md b/collections.md index fcafb769..2a428e30 100644 --- a/collections.md +++ b/collections.md @@ -1,21 +1,9 @@ +--- git 470922e766798ba65da7dd5d2181351524cbcd69 - --- # Коллекции -- [Введение](#introduction) - - [Создание коллекций](#creating-collections) - - [Расширение коллекций](#extending-collections) -- [Доступные методы](#available-methods) -- [Сообщения высшего порядка](#higher-order-messages) -- [Отложенные коллекции](#lazy-collections) - - [Введение в отложенные коллекции](#lazy-collection-introduction) - - [Создание отложенных коллекций](#creating-lazy-collections) - - [Контракт `Enumerable`](#the-enumerable-contract) - - [Методы отложенных коллекций](#lazy-collection-methods) - - ## Введение Класс `Illuminate\Support\Collection` обеспечивает гибкую и удобную обертку для работы с массивами данных. Например, посмотрите на следующий код. Здесь мы будем использовать хелпер `collect`, чтобы создать новый экземпляр коллекции из массива, запустим функцию `strtoupper` для каждого элемента, а затем удалим все пустые элементы: @@ -82,18 +70,8 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 В большей части оставшейся документации по коллекциям мы обсудим каждый метод, доступный в классе `Collection`. Помните, что все эти методы можно объединить в цепочку для последовательного управления базовым массивом. Более того, почти каждый метод возвращает новый экземпляр `Collection`, позволяя вам при необходимости сохранить исходную копию коллекции: - - +
- [`all()`](#method-all) - [`average()`](#method-average) @@ -230,22 +208,11 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 - [`wrap()`](#method-wrap) - [`zip()`](#method-zip) - +
- ## Список методов - - #### `all()` Метод `all` возвращает базовый массив, представленный коллекцией: @@ -1584,7 +1551,7 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 // [1, 2, 3] -#### `pipeThrough()` {.collection-method} +#### `pipeThrough()` Метод `pipeThrough` передает коллекцию заданному массиву замыканий и возвращает результат выполненных замыканий: @@ -1983,7 +1950,7 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 // [3, 2, 5, 1, 4] - (последовательность случайная) -#### `sliding()` {#collection-method} +#### `sliding()` Метод `sliding` возвращает новую коллекцию фрагментов (chunks), представляющих представление элементов коллекции в виде "скользящего окна": @@ -2092,7 +2059,7 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 Возвращенный фрагмент по умолчанию сохранит ключи. Если вы не хотите сохранять исходные ключи, вы можете использовать метод [`values`](#method-values), чтобы переиндексировать их. -#### `sole()` {#collection-method} +#### `sole()` Метод `sole` возвращает первый элемент в коллекции, который проходит заданный тест на истинность, но только если тест на истинность соответствует ровно одному элементу: @@ -2311,7 +2278,7 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 Этот метод имеет ту же сигнатуру, что и метод [`sortKeys`](#method-sortkeys), но отсортирует коллекцию в обратном порядке. -#### `sortKeysUsing()` {.collection-method} +#### `sortKeysUsing()` Метод `sortKeysUsing` сортирует коллекцию по ключам базового ассоциативного массива с помощью обратного вызова: @@ -2580,7 +2547,7 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 > {note} В отличие от большинства других методов коллекции, `transform` модифицирует коллекцию. Если вы хотите вместо этого создать новую коллекцию, используйте метод [`map`](#method-map). -#### `undot()` {.collection-method} +#### `undot()` Метод `undot` расширяет одномерную коллекцию, использующую «точечную» нотацию, в многомерную коллекцию: @@ -3235,7 +3202,7 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 Почти все методы, доступные в классе `Collection`, также доступны в классе `LazyCollection`. Оба класса реализуют контракт `Illuminate\Support\Enumerable`, который определяет следующие методы: - +
- [`all()`](#method-all) - [`average()`](#method-average) @@ -3364,7 +3331,7 @@ git 470922e766798ba65da7dd5d2181351524cbcd69 - [`wrap()`](#method-wrap) - [`zip()`](#method-zip) - +
> {note} Методы, которые изменяют коллекцию (такие, как `shift`, `pop`, `prepend` и т.д.), **недоступны** в классе `LazyCollection`. diff --git a/configuration.md b/configuration.md index b06ef577..c37bafed 100644 --- a/configuration.md +++ b/configuration.md @@ -1,18 +1,9 @@ -git 9bb78f08a26b86b5d43153d23fe0d663befbec7e - +--- +git: d6d7a68cd31267d7aefbcf5ebf78ab91762af626 --- # Конфигурирование -- [Введение](#introduction) -- [Конфигурация окружения](#environment-configuration) - - [Типы переменных окружения](#environment-variable-types) - - [Получение конфигурации окружения](#retrieving-environment-configuration) - - [Определение текущего окружения](#determining-the-current-environment) -- [Доступ к значениям конфигурации](#accessing-configuration-values) -- [Кеширование конфигурации](#configuration-caching) -- [Режим отладки](#debug-mode) -- [Режим обслуживания](#maintenance-mode) ## Введение @@ -154,7 +145,7 @@ git 9bb78f08a26b86b5d43153d23fe0d663befbec7e При доступе к этому скрытому маршруту вы будете перенаправлены на маршрут `/` приложения. Как только куки будет отправлен вашему браузеру, вы сможете просматривать приложение в обычном режиме, как если бы оно не находилось в режиме обслуживания. -> {tip} Параметр `secret` режима обслуживания должен состоять из буквенно-цифровых символов и, при необходимости, тире. Вам следует избегать использования в URL-адресах символов, имеющих особое значение, таких как `?`. +> {tip} Параметр `secret` режима обслуживания должен состоять из буквенно-цифровых символов и, при необходимости, тире. Вам следует избегать использования в URL-адресах символов, имеющих особое значение, таких как `?` или `&`. #### Предварительный рендеринг шаблона режима обслуживания diff --git a/console-tests.md b/console-tests.md index 4d5812ee..7e614570 100644 --- a/console-tests.md +++ b/console-tests.md @@ -1,13 +1,9 @@ -git 8f0031b4ea65784d5786507f76fbf9843c0ea388 - +--- +git: 8f0031b4ea65784d5786507f76fbf9843c0ea388 --- # Тестирование · Тесты консольных команд -- [Введение](#introduction) -- [Ожидания успеха / неудачи](#success-failure-expectations) -- [Ожидания ввода / вывода](#input-output-expectations) - ## Введение diff --git a/container.md b/container.md index 7f6ab852..8eadc75f 100644 --- a/container.md +++ b/container.md @@ -1,27 +1,9 @@ -git 18c6d69ad0cebc55b2970bd4da78a455c5970d7e - +--- +git: 18c6d69ad0cebc55b2970bd4da78a455c5970d7e --- # Контейнер служб (service container) -- [Введение](#introduction) - - [Неконфигурируемое внедрение](#zero-configuration-resolution) - - [Когда использовать контейнер](#when-to-use-the-container) -- [Связывание](#binding) - - [Основы связываний](#binding-basics) - - [Связывание интерфейсов и реализаций](#binding-interfaces-to-implementations) - - [Контекстная привязка](#contextual-binding) - - [Связывание примитивов](#binding-primitives) - - [Связывание типизированных вариаций](#binding-typed-variadics) - - [Добавление меток](#tagging) - - [Расширяемость связываний](#extending-bindings) -- [Извлечение](#resolving) - - [Метод `make`](#the-make-method) - - [Автоматическое внедрение зависимостей](#automatic-injection) -- [Вызов и внедрение метода](#method-invocation-and-injection) -- [События контейнера](#container-events) -- [PSR-11](#psr-11) - ## Введение diff --git a/contracts.md b/contracts.md index ccd3d5a0..628937e7 100644 --- a/contracts.md +++ b/contracts.md @@ -1,15 +1,9 @@ -git 0ab96f0b7c55966f5402b99e37268a0e9dacd03e - +--- +git: 0ab96f0b7c55966f5402b99e37268a0e9dacd03e --- # Контракты -- [Введение](#introduction) - - [Контракты против Фасадов](#contracts-vs-facades) -- [Когда использовать контракты](#when-to-use-contracts) -- [Как использовать контракты](#how-to-use-contracts) -- [Справочник контрактов](#contract-reference) - ## Введение diff --git a/contributions.md b/contributions.md index 4b2c84f1..e4c19fc1 100644 --- a/contributions.md +++ b/contributions.md @@ -4,17 +4,6 @@ git 9871b627f83ecf235ff439e7599be0ca95b39623 # Рекомендации по участию -- [Отчеты об ошибках](#bug-reports) -- [Вопросы поддержки](#support-questions) -- [Обсуждение разработки ядра](#core-development-discussion) -- [Какую ветку выбрать при запросах слияния?](#which-branch) -- [Скомпилированные ресурсы исходников](#compiled-assets) -- [Уязвимости безопасности](#security-vulnerabilities) -- [Стиль кодирования](#coding-style) - - [PHPDoc](#phpdoc) - - [StyleCI](#styleci) -- [Нормы поведения](#code-of-conduct) - ## Отчеты об ошибках diff --git a/controllers.md b/controllers.md index 99ed5702..43bd5595 100644 --- a/controllers.md +++ b/controllers.md @@ -1,24 +1,9 @@ -git 80807a5b50ac83b11e641eb73a78aa50bd208563 - +--- +git: 80807a5b50ac83b11e641eb73a78aa50bd208563 --- # Контроллеры -- [Введение](#introduction) -- [Написание контроллеров](#writing-controllers) - - [Основные понятия о контроллерах](#basic-controllers) - - [Контроллеры одиночного действия](#single-action-controllers) -- [Посредник контроллера](#controller-middleware) -- [Ресурсные контроллеры](#resource-controllers) - - [Частичные ресурсные маршруты](#restful-partial-resource-routes) - - [Вложенные ресурсы](#restful-nested-resources) - - [Именование ресурсных маршрутов](#restful-naming-resource-routes) - - [Именование параметров ресурсных маршрутов](#restful-naming-resource-route-parameters) - - [Ограничение ресурсных маршрутов](#restful-scoping-resource-routes) - - [Локализация URI ресурсов](#restful-localizing-resource-uris) - - [Дополнение ресурсных контроллеров](#restful-supplementing-resource-controllers) -- [Внедрение зависимостей и контроллеры](#dependency-injection-and-controllers) - ## Введение diff --git a/csrf.md b/csrf.md index ab212b1e..bc2ee413 100644 --- a/csrf.md +++ b/csrf.md @@ -1,14 +1,9 @@ -git 1ca38aade2baea9b663c3524846f6f5b7d1e27bf - +--- +git: 1ca38aade2baea9b663c3524846f6f5b7d1e27bf --- # Предотвращение атак CSRF -- [Введение](#csrf-introduction) -- [Предотвращение запросов CSRF](#preventing-csrf-requests) - - [Исключение URI из защиты от CSRF](#csrf-excluding-uris) -- [Токен X-CSRF](#csrf-x-csrf-token) -- [Токен X-XSRF](#csrf-x-xsrf-token) ## Введение diff --git a/database-testing.md b/database-testing.md index fd330b23..46d6c1e0 100644 --- a/database-testing.md +++ b/database-testing.md @@ -1,28 +1,9 @@ -git 186a9ef85d1edce04513d3259ad161bfb49beb24 - +--- +git: 186a9ef85d1edce04513d3259ad161bfb49beb24 --- # Тестирование · База данных -- [Введение](#introduction) - - [Сброс базы данных после каждого теста](#resetting-the-database-after-each-test) -- [Определение фабрик моделей](#defining-model-factories) - - [Обзор концепции](#concept-overview) - - [Генерация фабрик](#generating-factories) - - [Состояния фабрик](#factory-states) - - [Хуки фабрик](#factory-callbacks) -- [Создание моделей с использованием фабрик](#creating-models-using-factories) - - [Инициализация экземпляров моделей](#instantiating-models) - - [Сохранение моделей](#persisting-models) - - [Последовательность состояний](#sequences) -- [Отношения](#factory-relationships) - - [Отношения Has Many](#has-many-relationships) - - [Отношения Belongs To](#belongs-to-relationships) - - [Отношения Many To Many](#many-to-many-relationships) - - [Полиморфные отношения](#polymorphic-relationships) - - [Определение отношений внутри фабрик](#defining-relationships-within-factories) -- [Запуск наполнителей](#running-seeders) -- [Доступные утверждения](#available-assertions) ## Введение diff --git a/database.md b/database.md index 48c06b59..ec879b20 100644 --- a/database.md +++ b/database.md @@ -1,17 +1,9 @@ -git 94e138a27795139f8bf7de31dc3c64bcdf936bc3 - +--- +git: 94e138a27795139f8bf7de31dc3c64bcdf936bc3 --- # База данных · Начало работы -- [Введение](#introduction) - - [Конфигурирование](#configuration) - - [Соединения для чтения и записи](#read-and-write-connections) -- [Выполнение SQL-запросов](#running-queries) - - [Использование нескольких соединений к базе данных](#using-multiple-database-connections) - - [Прослушивание событий запроса](#listening-for-query-events) -- [Транзакции базы данных](#database-transactions) -- [Подключение к базе данных с помощью интерфейса командной строки](#connecting-to-the-database-cli) ## Введение diff --git a/deployment.md b/deployment.md index b29f5392..6cce9518 100644 --- a/deployment.md +++ b/deployment.md @@ -1,21 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: 6ac13f37adbed3ce6a6532fd790f70bd731b8571 --- # Развертывание -- [Введение](#introduction) -- [Требования к серверу](#server-requirements) -- [Конфигурация сервера](#server-configuration) - - [Nginx](#nginx) -- [Оптимизация](#optimization) - - [Оптимизация автозагрузчика](#autoloader-optimization) - - [Оптимизация загрузки конфигурации](#optimizing-configuration-loading) - - [Оптимизация загрузки маршрута](#optimizing-route-loading) - - [Оптимизация загрузки шаблонов](#optimizing-view-loading) -- [Режим отладки](#debug-mode) -- [Развертывание с помощью Forge / Vapor](#deploying-with-forge-or-vapor) - ## Введение diff --git a/documentation.md b/documentation.md index c4be580f..7308c111 100755 --- a/documentation.md +++ b/documentation.md @@ -1,5 +1,5 @@ -git 9f92262a5af04c855905cae8a6a0e9fb2b9c46ba - +--- +git: 9f92262a5af04c855905cae8a6a0e9fb2b9c46ba --- - ## Пролог diff --git a/dusk.md b/dusk.md index a5d6b1b9..d1325c89 100644 --- a/dusk.md +++ b/dusk.md @@ -1,57 +1,9 @@ -git d35acdeace1152f3559b81c5ae02c18e80197a52 - +--- +git: d35acdeace1152f3559b81c5ae02c18e80197a52 --- # Тестирование · Пакет Laravel Dusk -- [Введение](#introduction) -- [Установка](#installation) - - [Управление установками ChromeDriver](#managing-chromedriver-installations) - - [Использование других браузеров](#using-other-browsers) -- [Начало работы](#getting-started) - - [Генерация тестов](#generating-tests) - - [Миграции базы данных](#migrations) - - [Запуск тестов](#running-tests) - - [Обработка файла переменных окружения](#environment-handling) -- [Основы работы с браузером](#browser-basics) - - [Создание браузеров](#creating-browsers) - - [Навигация](#navigation) - - [Изменение размера окна браузера](#resizing-browser-windows) - - [Макрокоманды браузера](#browser-macros) - - [Аутентификация](#authentication) - - [Cookies](#cookies) - - [Выполнение JavaScript](#executing-javascript) - - [Получение снимка экрана](#taking-a-screenshot) - - [Сохранение вывода консоли на диск](#storing-console-output-to-disk) - - [Сохранение исходного кода страницы на диск](#storing-page-source-to-disk) -- [Взаимодействие с элементами](#interacting-with-elements) - - [Селекторы Dusk](#dusk-selectors) - - [Текст, значения и атрибуты](#text-values-and-attributes) - - [Взаимодействие с формами](#interacting-with-forms) - - [Прикрепление файлов](#attaching-files) - - [Нажатие кнопок](#pressing-buttons) - - [Клик по ссылкам](#clicking-links) - - [Использование клавиатуры](#using-the-keyboard) - - [Использование мыши](#using-the-mouse) - - [Диалоговые окна JavaScript (Alert, Prompt, Confirm)](#javascript-dialogs) - - [Сегментированное тестирование по селекторам](#scoping-selectors) - - [Ожидание доступности элементов](#waiting-for-elements) - - [Прокрутка элемента в область видимости пользователя](#scrolling-an-element-into-view) -- [Доступные утверждения](#available-assertions) -- [Тестовые страницы](#pages) - - [Генерация тестовых страниц](#generating-pages) - - [Конфигурирование тестовых страниц](#configuring-pages) - - [Навигация по тестовым страницам](#navigating-to-pages) - - [Псевдонимы селекторов](#shorthand-selectors) - - [Методы тестовых страниц](#page-methods) -- [Компоненты для тестов](#components) - - [Генерация компонентов](#generating-components) - - [Использование компонентов](#using-components) -- [Непрерывная интеграция](#continuous-integration) - - [Heroku CI](#running-tests-on-heroku-ci) - - [Travis CI](#running-tests-on-travis-ci) - - [GitHub Actions](#running-tests-on-github-actions) - ## Введение @@ -875,18 +827,7 @@ Dusk содержит различные методы для взаимодей Dusk содержит множество утверждений, которые вы можете использовать при тестировании вашего приложения. Все доступные утверждения представлены в списке ниже: - - - +
- [assertTitle](#assert-title) - [assertTitleContains](#assert-title-contains) @@ -962,7 +903,7 @@ Dusk содержит множество утверждений, которые - [assertVueContains](#assert-vue-contains) - [assertVueDoesNotContain](#assert-vue-does-not-contain) - +
#### assertTitle diff --git a/eloquent-collections.md b/eloquent-collections.md index 0f8920fa..af6976aa 100644 --- a/eloquent-collections.md +++ b/eloquent-collections.md @@ -1,12 +1,9 @@ -git 0114efaa616fc2853168f9fccfc072f9d11f7f43 - +--- +git: 0114efaa616fc2853168f9fccfc072f9d11f7f43 --- # Eloquent · Коллекции -- [Введение](#introduction) -- [Доступные методы](#available-methods) -- [Пользовательские коллекции](#custom-collections) ## Введение @@ -43,18 +40,7 @@ git 0114efaa616fc2853168f9fccfc072f9d11f7f43 Кроме того, класс `Illuminate\Database\Eloquent\Collection` содержит расширенный набор методов, помогающих управлять коллекциями моделей. Большинство методов возвращают экземпляры `Illuminate\Database\Eloquent\Collection`; однако некоторые методы, такие как `modelKeys`, возвращают экземпляр `Illuminate\Support\Collection`. - - - +
- [contains](#method-contains) - [diff](#method-diff) diff --git a/eloquent-mutators.md b/eloquent-mutators.md index c231214d..942476e1 100644 --- a/eloquent-mutators.md +++ b/eloquent-mutators.md @@ -1,26 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: 6ac13f37adbed3ce6a6532fd790f70bd731b8571 --- # Eloquent · Мутаторы и типизация -- [Введение](#introduction) -- [Аксессоры и мутаторы](#accessors-and-mutators) - - [Определение аксессора](#defining-an-accessor) - - [Определение мутатора](#defining-a-mutator) -- [Приведение атрибутов к типам](#attribute-casting) - - [Преобразование в массив и JSON](#array-and-json-casting) - - [Типизация даты](#date-casting) - - [Типизация "Enum"](#enum-casting) - - [Типизация "Encrypted"](#encrypted-casting) - - [Типизация во время запроса](#query-time-casting) -- [Пользовательская типизация](#custom-casts) - - [Типизация объект-значение](#value-object-casting) - - [Сериализация в массив и JSON](#array-json-serialization) - - [Входящая типизация](#inbound-casting) - - [Параметры типизации](#cast-parameters) - - [Интерфейс `Castable`](#castables) - ## Введение diff --git a/eloquent-relationships.md b/eloquent-relationships.md index e7787dad..1f137a3a 100644 --- a/eloquent-relationships.md +++ b/eloquent-relationships.md @@ -1,48 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: 6ac13f37adbed3ce6a6532fd790f70bd731b8571 --- # Eloquent · Отношения -- [Введение](#introduction) -- [Определение отношений](#defining-relationships) - - [Один к одному](#one-to-one) - - [Один ко многим](#one-to-many) - - [Определение обратной связи Один ко многим](#one-to-many-inverse) - - [Один из многих](#has-one-of-many) - - [Один через отношение](#has-one-through) - - [Многие через отношение](#has-many-through) -- [Отношения Многие ко многим](#many-to-many) - - [Получение столбцов сводной таблицы](#retrieving-intermediate-table-columns) - - [Фильтрация запросов по столбцам сводной таблицы](#filtering-queries-via-intermediate-table-columns) - - [Определение пользовательских моделей сводных таблиц](#defining-custom-intermediate-table-models) -- [Полиморфные отношения](#polymorphic-relationships) - - [Один к одному (полиморфное)](#one-to-one-polymorphic-relations) - - [Один ко многим (полиморфное)](#one-to-many-polymorphic-relations) - - [Один из многих](#one-of-many-polymorphic-relations) - - [Многие ко многим (полиморфное)](#many-to-many-polymorphic-relations) - - [Именование полиморфных типов](#custom-polymorphic-types) -- [Динамические отношения](#dynamic-relationships) -- [Запросы отношений](#querying-relations) - - [Методы отношений против динамических свойств](#relationship-methods-vs-dynamic-properties) - - [Запрос наличия отношений](#querying-relationship-existence) - - [Запрос отсутствия отношений](#querying-relationship-absence) - - [Запрос полиморфных отношений Morph To](#querying-morph-to-relationships) -- [Агрегирование связанных моделей](#aggregating-related-models) - - [Подсчет связанных моделей](#counting-related-models) - - [Другие агрегатные функции](#other-aggregate-functions) - - [Подсчет связанных моделей отношений Morph To](#counting-related-models-on-morph-to-relationships) -- [Жадная загрузка (eager loading)](#eager-loading) - - [Ограничение жадной загрузки](#constraining-eager-loads) - - [Жадная пост-загрузка](#lazy-eager-loading) - - [Предотвращение ленивой загрузки](#preventing-lazy-loading) -- [Вставка и обновление связанных моделей](#inserting-and-updating-related-models) - - [Метод Save](#the-save-method) - - [Метод Create](#the-create-method) - - [Обновление отношений Один К](#updating-belongs-to-relationships) - - [Обновление отношений Многие ко многим](#updating-many-to-many-relationships) -- [Затрагивание временных меток родителя](#touching-parent-timestamps) - ## Введение diff --git a/eloquent-resources.md b/eloquent-resources.md index 89d1a4ca..b8a824c9 100644 --- a/eloquent-resources.md +++ b/eloquent-resources.md @@ -1,20 +1,9 @@ -git 34eb006893f9e86010025689656aa8cba0096687 - +--- +git: 34eb006893f9e86010025689656aa8cba0096687 --- # Eloquent · Ресурсы API (Resource) -- [Введение](#introduction) -- [Генерация ресурсов](#generating-resources) -- [Обзор концепции](#concept-overview) - - [Коллекции ресурса](#resource-collections) -- [Написание ресурсов](#writing-resources) - - [Обертывание данных](#data-wrapping) - - [Постраничная разбивка](#pagination) - - [Условные атрибуты](#conditional-attributes) - - [Условные отношения](#conditional-relationships) - - [Добавление метаданных](#adding-meta-data) -- [Ответы ресурса](#resource-responses) ## Введение diff --git a/eloquent-serialization.md b/eloquent-serialization.md index cde94af0..19d8b4cd 100644 --- a/eloquent-serialization.md +++ b/eloquent-serialization.md @@ -1,16 +1,9 @@ -git 0ab96f0b7c55966f5402b99e37268a0e9dacd03e - +--- +git: 0ab96f0b7c55966f5402b99e37268a0e9dacd03e --- # Eloquent · Сериализация -- [Введение](#introduction) -- [Сериализация моделей и коллекций](#serializing-models-and-collections) - - [Сериализация в массивы](#serializing-to-arrays) - - [Сериализация в JSON](#serializing-to-json) -- [Скрытие атрибутов из JSON](#hiding-attributes-from-json) -- [Добавление значений в JSON](#appending-values-to-json) -- [Сериализация Даты](#date-serialization) ## Введение diff --git a/eloquent.md b/eloquent.md index 82b35ea0..7f6bf1eb 100644 --- a/eloquent.md +++ b/eloquent.md @@ -1,45 +1,9 @@ -git c4484e8211c714734a8b600c06a5de7328782065 - +--- +git: c4484e8211c714734a8b600c06a5de7328782065 --- # Eloquent · Начало работы -- [Введение](#introduction) -- [Генерация классов модели](#generating-model-classes) -- [Соглашения по именованию моделей Eloquent](#eloquent-model-conventions) - - [Именование таблиц](#table-names) - - [Первичные ключи](#primary-keys) - - [Временные метки](#timestamps) - - [Соединения с БД](#database-connections) - - [Значения атрибутов по умолчанию](#default-attribute-values) -- [Получение моделей](#retrieving-models) - - [Коллекции](#collections) - - [Разбиение результатов](#chunking-results) - - [Отложенная потоковая передача результатов](#streaming-results-lazily) - - [Курсоры](#cursors) - - [Расширенные подзапросы](#advanced-subqueries) -- [Извлечение отдельных моделей](#retrieving-single-models) - - [Получение или создание моделей](#retrieving-or-creating-models) - - [Извлечение Агрегатов](#retrieving-aggregates) -- [Вставка и обновление моделей](#inserting-and-updating-models) - - [Вставка](#inserts) - - [Обновление](#updates) - - [Массовое присвоение](#mass-assignment) - - [Обновления-вставки](#upserts) -- [Удаление моделей](#deleting-models) - - [Программное удаление](#soft-deleting) - - [Запросы для моделей, использующих программное удаление](#querying-soft-deleted-models) -- [Периодическое удаление (pruning) старых записей](#pruning-models) -- [Репликация (тиражирование) моделей](#replicating-models) -- [Диапазоны запроса](#query-scopes) - - [Глобальные диапазоны](#global-scopes) - - [Локальные диапазоны](#local-scopes) -- [Сравнение моделей](#comparing-models) -- [События](#events) - - [Использование замыканий](#events-using-closures) - - [Наблюдатели](#observers) - - [Подавление событий](#muting-events) - ## Введение diff --git a/encryption.md b/encryption.md index ecc0884e..425cac03 100644 --- a/encryption.md +++ b/encryption.md @@ -1,12 +1,9 @@ -git 212cf52490604efe98f1e486c9db94dd69be24e4 - +--- +git: 212cf52490604efe98f1e486c9db94dd69be24e4 --- # Шифрование -- [Введение](#introduction) -- [Конфигурирование](#configuration) -- [Использование шифровальщика](#using-the-encrypter) ## Введение diff --git a/envoy.md b/envoy.md index 3885db82..ad97eb62 100644 --- a/envoy.md +++ b/envoy.md @@ -1,26 +1,9 @@ -git 9b744ef2a5e47ac201b3a06831d64513f6bf69c9 - +--- +git: 9b744ef2a5e47ac201b3a06831d64513f6bf69c9 --- # Пакет Laravel Envoy -- [Введение](#introduction) -- [Установка](#installation) -- [Написание задач](#writing-tasks) - - [Определение задач](#defining-tasks) - - [Множество серверов](#multiple-servers) - - [Предстартовая подготовка](#setup) - - [Переменные](#variables) - - [Истории](#stories) - - [Хуки](#completion-hooks) -- [Выполнение задач](#running-tasks) - - [Подтверждение выполнения задачи](#confirming-task-execution) -- [Уведомления](#notifications) - - [Slack](#slack) - - [Discord](#discord) - - [Telegram](#telegram) - - [Microsoft Teams](#microsoft-teams) - ## Введение diff --git a/errors.md b/errors.md index 0738e903..cffaff58 100644 --- a/errors.md +++ b/errors.md @@ -1,19 +1,9 @@ -git 0f19f3d770b961aee8576b24deb394a0b9a2f7ad - +--- +git: 0f19f3d770b961aee8576b24deb394a0b9a2f7ad --- # Обработка ошибок (Exception) -- [Введение](#introduction) -- [Конфигурирование](#configuration) -- [Обработчик исключений](#the-exception-handler) - - [Отчет об исключениях](#reporting-exceptions) - - [Игнорирование исключений по типу](#ignoring-exceptions-by-type) - - [Отображение исключений](#rendering-exceptions) - - [Отчетные и отображаемые исключения](#renderable-exceptions) - - [Сопоставление исключений по типу](#mapping-exceptions-by-type) -- [HTTP-исключения](#http-exceptions) - - [Пользовательские страницы ошибок HTTP](#custom-http-error-pages) ## Введение diff --git a/events.md b/events.md index 17b54b87..ce1954ab 100644 --- a/events.md +++ b/events.md @@ -1,25 +1,9 @@ -git af5bdad4fcc39375bff3a8185d5e48df869d2918 - +--- +git: af5bdad4fcc39375bff3a8185d5e48df869d2918 --- # События (Events) -- [Введение](#introduction) -- [Регистрация событий и слушателей](#registering-events-and-listeners) - - [Генерация событий и слушателей](#generating-events-and-listeners) - - [Ручная регистрация событий](#manually-registering-events) - - [Автообнаружение событий](#event-discovery) -- [Определение событий](#defining-events) -- [Определение слушателей](#defining-listeners) -- [Слушатели событий в очереди](#queued-event-listeners) - - [Взаимодействие с очередью вручную](#manually-interacting-with-the-queue) - - [Слушатели событий в очереди и транзакции базы данных](#queued-event-listeners-and-database-transactions) - - [Обработка невыполненных заданий](#handling-failed-jobs) -- [Отправка событий](#dispatching-events) -- [Подписчики событий](#event-subscribers) - - [Написание подписчиков на события](#writing-event-subscribers) - - [Регистрация подписчиков на события](#registering-event-subscribers) - ## Введение diff --git a/facades.md b/facades.md index c599ce64..9dd42821 100644 --- a/facades.md +++ b/facades.md @@ -1,16 +1,9 @@ -git 34eb006893f9e86010025689656aa8cba0096687 - +--- +git: 34eb006893f9e86010025689656aa8cba0096687 --- # Фасады (Facades) -- [Введение](#introduction) -- [Когда использовать фасады](#when-to-use-facades) - - [Фасады против внедрения зависимостей](#facades-vs-dependency-injection) - - [Фасады против глобальных помощников](#facades-vs-helper-functions) -- [Как фасады работают](#how-facades-work) -- [Фасады в реальном времени](#real-time-facades) -- [Справочник фасадов](#facade-class-reference) ## Введение diff --git a/filesystem.md b/filesystem.md index 185ef5e0..72f90f75 100644 --- a/filesystem.md +++ b/filesystem.md @@ -1,29 +1,9 @@ -git a7ce258a129b989edcdbe867b743cdd80d78633e - +--- +git: 7dee5bf9338d75361f7b7dac2b5a82d1fc3105bb --- # Файловое хранилище -- [Введение](#introduction) -- [Конфигурирование](#configuration) - - [Локальный драйвер](#the-local-driver) - - [Публичный диск](#the-public-disk) - - [Предварительная подготовка драйверов](#driver-prerequisites) - - [Файловые системы, совместимые с Amazon S3](#amazon-s3-compatible-filesystems) - - [Кеширование](#caching) -- [Доступ к экземплярам дисков](#obtaining-disk-instances) - - [Диски по запросу](#on-demand-disks) -- [Получение файлов](#retrieving-files) - - [Скачивание файлов](#downloading-files) - - [URL-адреса файлов](#file-urls) - - [Метаданные файла](#file-metadata) -- [Хранение файлов](#storing-files) - - [Загрузка файлов](#file-uploads) - - [Видимость файла](#file-visibility) -- [Удаление файлов](#deleting-files) -- [Каталоги](#directories) -- [Пользовательские файловые системы](#custom-filesystems) - ## Введение @@ -143,7 +123,7 @@ Laravel обеспечивает мощную абстракцию файлов ### Кеширование -Чтобы включить кеширование для конкретного диска, вы можете добавить директиву `cache` в параметры конфигурации этого диска. Параметр `cache` должен быть массивом параметров кеширования, содержащим имя `disk`, время `expire` в секундах и `prefix` кеша: +Чтобы включить кеширование для конкретного диска, вы можете добавить директиву `cache` в параметры конфигурации этого диска. Параметр `cache` должен быть массивом параметров кеширования, содержащим имя кеша `store`, время `expire` в секундах и `prefix` кеша: 's3' => [ 'driver' => 's3', diff --git a/fortify.md b/fortify.md index 1a7e8646..49356879 100644 --- a/fortify.md +++ b/fortify.md @@ -1,34 +1,9 @@ -git f92e92a194de4f321ed2c8477be68dcea0ec393a - +--- +git: f92e92a194de4f321ed2c8477be68dcea0ec393a --- # Пакет Laravel Fortify -- [Введение](#introduction) - - [Что такое Fortify?](#what-is-fortify) - - [Когда я должен использовать Fortify?](#when-should-i-use-fortify) -- [Установка](#installation) - - [Поставщик службы Fortify](#the-fortify-service-provider) - - [Функционал Fortify](#fortify-features) - - [Отключение маршрутов, возвращающих шаблоны](#disabling-views) -- [Аутентификация](#authentication) - - [Настройка аутентификации пользователя](#customizing-user-authentication) - - [Настройка конвейера аутентификации](#customizing-the-authentication-pipeline) - - [Настройка переадресации](#customizing-authentication-redirects) -- [Двухфакторная аутентификация](#two-factor-authentication) - - [Включение двухфакторной аутентификации](#enabling-two-factor-authentication) - - [Использование двухфакторной аутентификации](#authenticating-with-two-factor-authentication) - - [Отключение двухфакторной аутентификации](#disabling-two-factor-authentication) -- [Регистрация](#registration) - - [Настройка регистрации](#customizing-registration) -- [Сброс пароля](#password-reset) - - [Запрос ссылки для сброса пароля](#requesting-a-password-reset-link) - - [Отображение страницы сброса пароля](#resetting-the-password) - - [Настройка сброса пароля](#customizing-password-resets) -- [Подтверждение адреса электронной почты](#email-verification) - - [Защита маршрутов](#protecting-routes) -- [Подтверждение пароля](#password-confirmation) - ## Введение diff --git a/hashing.md b/hashing.md index 7156fd25..f8917dab 100644 --- a/hashing.md +++ b/hashing.md @@ -1,16 +1,9 @@ -git 0ab96f0b7c55966f5402b99e37268a0e9dacd03e - +--- +git: 0ab96f0b7c55966f5402b99e37268a0e9dacd03e --- # Хеширование -- [Введение](#introduction) -- [Конфигурирование](#configuration) -- [Основы использования](#basic-usage) - - [Хеширование паролей](#hashing-passwords) - - [Проверка совпадения пароля с хешем](#verifying-that-a-password-matches-a-hash) - - [Определение необходимости повторного хеширования пароля](#determining-if-a-password-needs-to-be-rehashed) - ## Введение diff --git a/helpers.md b/helpers.md index 08ec4d31..e27fb3a8 100644 --- a/helpers.md +++ b/helpers.md @@ -1,12 +1,9 @@ -git ff7f2bf9e463e6f4027d6c6218107f319effead9 - +--- +git: ff7f2bf9e463e6f4027d6c6218107f319effead9 --- # Глобальные помощники (helpers) -- [Введение](#introduction) -- [Доступные методы](#available-methods) - ## Введение @@ -15,21 +12,10 @@ Laravel содержит множество глобальных «вспомо ## Доступные методы - - ### Массивы и объекты - +
- [Arr::accessible](#method-array-accessible) - [Arr::add](#method-array-add) @@ -67,12 +53,12 @@ Laravel содержит множество глобальных «вспомо - [data_set](#method-data-set) - [head](#method-head) - [last](#method-last) - +
### Пути - +
- [app_path](#method-app-path) - [base_path](#method-base-path) @@ -83,12 +69,12 @@ Laravel содержит множество глобальных «вспомо - [resource_path](#method-resource-path) - [storage_path](#method-storage-path) - +
### Строки - +
- [\__](#method-__) - [class_basename](#method-class-basename) @@ -147,14 +133,14 @@ Laravel содержит множество глобальных «вспомо - [trans](#method-trans) - [trans_choice](#method-trans-choice) - +
### Строки Fluent Строки Fluent обеспечивают более гибкий объектно-ориентированный интерфейс для работы со строковыми значениями, позволяя объединять несколько строковых операций вместе с использованием более удобочитаемого синтаксиса по сравнению с традиционными строковыми операциями. - +
- [after](#method-fluent-str-after) - [afterLast](#method-fluent-str-after-last) @@ -230,12 +216,12 @@ Laravel содержит множество глобальных «вспомо - [wordCount](#method-fluent-str-word-count) - [words](#method-fluent-str-words) - +
### URL-адреса - +
- [action](#method-action) - [asset](#method-asset) @@ -244,12 +230,12 @@ Laravel содержит множество глобальных «вспомо - [secure_url](#method-secure-url) - [url](#method-url) - +
### Разное - +
- [abort](#method-abort) - [abort_if](#method-abort-if) @@ -299,21 +285,11 @@ Laravel содержит множество глобальных «вспомо - [view](#method-view) - [with](#method-with) - +
## Список методов - - ## Массивы и объекты @@ -1713,7 +1689,7 @@ Laravel содержит множество глобальных «вспомо // 2 -#### `Str::substrReplace()` {.collection-method} +#### `Str::substrReplace()` Метод `Str::substrReplace` заменяет текст в части строки, начиная с позиции, указанной третьим аргументом, и заменяет число символов, указанное четвертым аргументом. Передав `0` четвертым аргументом в метод, строка будет вставлена в указанную позицию без замены каких-либо существующих символов в строке: @@ -1737,7 +1713,7 @@ Laravel содержит множество глобальных «вспомо // A Nice Title Uses The Correct Case -#### `Str::toHtmlString()` {.collection-method} +#### `Str::toHtmlString()` Метод `Str::toHtmlString` преобразует экземпляр строки в экземпляр Illuminate\Support\HtmlString, который может отображаться в шаблонах Blade: @@ -1907,7 +1883,7 @@ Str::wordCount('Hello, world!'); // 2 // 'This ' -#### `between` {.collection-method} +#### `between` Метод `between` возвращает часть строки между двумя значениями: @@ -2446,7 +2422,7 @@ If no matches are found, an empty collection will be returned. // '/Laravel' -#### `scan` {.collection-method} +#### `scan` Метод `scan` анализирует входные данные из строки в коллекцию в соответствии с форматом, поддерживаемым [`sscanf` функцией PHP](https://www.php.net/manual/ru/function.sscanf.php): @@ -2557,7 +2533,7 @@ If no matches are found, an empty collection will be returned. // Frame -#### `substrReplace` {.collection-method} +#### `substrReplace` Метод `substrReplace` заменяет текст в части строки, начиная с позиции, указанной третьим аргументом, и заменяет число символов, указанное четвертым аргументом. Передав 0 четвертым аргументом в метод, строка будет вставлена в указанную позицию без замены каких-либо существующих символов в строке: @@ -2663,7 +2639,7 @@ If no matches are found, an empty collection will be returned. При необходимости вы можете передать другое замыкание в качестве третьего параметра методу `when`. Это замыкание будет выполнено, если параметр условия оценивается как `false`. -#### `whenContains` {.collection-method} +#### `whenContains` Метод `whenContains` вызывает данное замыкание, если строка содержит заданное значение. Замыкание получит экземпляр класса `Stringable` в качестве аргумента: @@ -2690,7 +2666,7 @@ If no matches are found, an empty collection will be returned. // Tony Stark -#### `whenContainsAll` {.collection-method} +#### `whenContainsAll` Метод `whenContainsAll` вызывает данное замыкание, если строка содержит все заданные подстроки. Замыкание получит экземпляр класса `Stringable` в качестве аргумента: @@ -2719,7 +2695,7 @@ If no matches are found, an empty collection will be returned. // 'Laravel' -#### `whenNotEmpty` {.collection-method} +#### `whenNotEmpty` Метод `whenNotEmpty` вызывает данное замыкание, если строка не пуста. Если замыкание возвращает значение, это значение также будет возвращено методом `whenNotEmpty`. Если замыкание не возвращает значение, будет возвращен экземпляр класса `Stringable`: @@ -2732,7 +2708,7 @@ If no matches are found, an empty collection will be returned. // 'Laravel Framework' -#### `whenStartsWith` {.collection-method} +#### `whenStartsWith` Метод `whenStartsWith` вызывает данное замыкание, если строка начинается с данной подстроки. Замыкание получит свободный экземпляр класса `Stringable` в качестве аргумента: @@ -2745,7 +2721,7 @@ If no matches are found, an empty collection will be returned. // 'Disney World' -#### `whenEndsWith` {.collection-method} +#### `whenEndsWith` Метод `whenEndsWith` вызывает данное замыкание, если строка заканчивается заданной подстрокой. Замыкание получит свободный экземпляр строки: @@ -2758,7 +2734,7 @@ If no matches are found, an empty collection will be returned. // 'Disney World' -#### `whenExactly` {.collection-method} +#### `whenExactly` Метод `whenExactly` вызывает данное замыкание, если строка точно соответствует заданной строке. Закрытие получит свободный экземпляр строки: @@ -2771,7 +2747,7 @@ If no matches are found, an empty collection will be returned. // 'Laravel' -#### `whenIs` {.collection-method} +#### `whenIs` Метод `whenIs` вызывает данное замыкание, если строка соответствует заданному шаблону. Звездочки могут использоваться в качестве подстановочных знаков. Замыкание получит экземпляр класса `Stringable` в качестве аргумента: @@ -2784,7 +2760,7 @@ If no matches are found, an empty collection will be returned. // 'foo/bar/baz' -#### `whenIsAscii` {.collection-method} +#### `whenIsAscii` Метод `whenIsAscii` вызывает данное замыкание, если строка представляет собой 7-битный ASCII. Замыкание получит экземпляр класса `Stringable` в качестве аргумента: @@ -2797,7 +2773,7 @@ If no matches are found, an empty collection will be returned. // 'Laravel' -#### `whenIsUuid` {.collection-method} +#### `whenIsUuid` Метод `whenIsUuid` вызывает данное замыкание, если строка является допустимым UUID. Замыкание получит экземпляр класса `Stringable` в качестве аргумента: @@ -2810,7 +2786,7 @@ If no matches are found, an empty collection will be returned. // 'a0a2a2d2' -#### `whenTest` {.collection-method} +#### `whenTest` Метод `whenTest` вызывает данное замыкание, если строка соответствует заданному регулярному выражению. Замыкание получит экземпляр класса `Stringable` в качестве аргумента: diff --git a/homestead.md b/homestead.md index f0ae07ab..5571d5d8 100644 --- a/homestead.md +++ b/homestead.md @@ -1,42 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: 41169362bce8c5a141b9ca7eb26c6c3c17fe19ac --- # Laravel Homestead -- [Введение](#introduction) -- [Установка и настройка](#installation-and-setup) - - [Первые шаги](#first-steps) - - [Настройка Homestead](#configuring-homestead) - - [Настройка Nginx](#configuring-nginx-sites) - - [Настройка сервисов](#configuring-services) - - [Запуск Vagrant Box](#launching-the-vagrant-box) - - [Подготовка к установке](#per-project-installation) - - [Установка дополнительных пакетов](#installing-optional-features) - - [Псевдонимы](#aliases) -- [Обновление Homestead](#updating-homestead) -- [Ежедневное использование](#daily-usage) - - [Подключение через SSH](#connecting-via-ssh) - - [Добавление сайтов](#adding-additional-sites) - - [Настройка окружения](#environment-variables) - - [Порты](#ports) - - [Версии PHP](#php-versions) - - [Соединение с базой данных](#connecting-to-databases) - - [Резервные копии базы данных](#database-backups) - - [Настройка расписания Cron](#configuring-cron-schedules) - - [Настройка MailHog](#configuring-mailhog) - - [Настройка Minio](#configuring-minio) - - [Laravel Dusk](#laravel-dusk) - - [Совместное использование](#sharing-your-environment) -- [Отладка и профилирование](#debugging-and-profiling) - - [Отладка веб-запросов](#debugging-web-requests) - - [Отладка CLI-приложений](#debugging-cli-applications) - - [Профилирование приложения с Blackfire](#profiling-applications-with-blackfire) -- [Сетевые интерфейсы](#network-interfaces) -- [Добавление команд Homestead](#extending-homestead) -- [Специфичные настройки](#provider-specific-settings) - - [VirtualBox](#provider-specific-virtualbox) - ## Введение @@ -51,6 +18,8 @@ Homestead работает в любой системе Windows, macOS или Li ### Включенное в набор программное обеспечение +
+ - Ubuntu 20.04 - Git - PHP 8.1 @@ -78,9 +47,13 @@ Homestead работает в любой системе Windows, macOS или Li - XHProf / Tideways / XHGui - wp-cli +
+ ### Дополнительное программное обеспечение +
+ - Apache - Blackfire - Cassandra @@ -111,6 +84,8 @@ Homestead работает в любой системе Windows, macOS или Li - Trader (PHP extension) - Webdriver & Laravel Dusk Utilities +
+ ## Установка и настройка diff --git a/horizon.md b/horizon.md index 6eeea7fa..5916bfd6 100644 --- a/horizon.md +++ b/horizon.md @@ -1,23 +1,9 @@ -git 2cf67bcaacfec590098cefb45af824b74671cfa0 - +--- +git: 2cf67bcaacfec590098cefb45af824b74671cfa0 --- # Laravel Horizon -- [Вступление](#introduction) -- [Установка](#installation) - - [Настройка](#configuration) - - [Стратегии балансировки](#balancing-strategies) - - [Авторизация в информационной панели](#dashboard-authorization) -- [Обновление Horizon](#upgrading-horizon) -- [Запуск Horizon](#running-horizon) - - [Развертывание Horizon](#deploying-horizon) -- [Теги](#tags) -- [Уведомления](#notifications) -- [Метрики](#metrics) -- [Удаление невыполненных заданий](#deleting-failed-jobs) -- [Удаление заданий из очередей](#clearing-jobs-from-queues) - ## Вступление diff --git a/http-client.md b/http-client.md index 6b2f7ff4..721ae077 100644 --- a/http-client.md +++ b/http-client.md @@ -1,25 +1,9 @@ -git b24772f4ccf22b955c298d86766eab88eee7528c - +--- +git: b24772f4ccf22b955c298d86766eab88eee7528c --- # HTTP-клиент -- [Введение](#introduction) -- [Выполнение запросов](#making-requests) - - [Данные запроса](#request-data) - - [Заголовки](#headers) - - [Аутентификация](#authentication) - - [Время ожидания](#timeout) - - [Повторные попытки](#retries) - - [Обработка ошибок](#error-handling) - - [Параметры Guzzle](#guzzle-options) -- [Параллельные запросы](#concurrent-requests) -- [Макросы](#macros) -- [Тестирование](#testing) - - [Фиктивные ответы](#faking-responses) - - [Инспектирование запросов](#inspecting-requests) -- [События](#events) - ## Введение diff --git a/http-tests.md b/http-tests.md index 61f94649..aefaaaf8 100644 --- a/http-tests.md +++ b/http-tests.md @@ -1,24 +1,9 @@ -git 34eb006893f9e86010025689656aa8cba0096687 - +--- +git: 34eb006893f9e86010025689656aa8cba0096687 --- # Тестирование · Тесты HTTP -- [Введение](#introduction) -- [Выполнение запросов](#making-requests) - - [Настройка заголовков запросов](#customizing-request-headers) - - [Cookies](#cookies) - - [Сессия / Аутентификация](#session-and-authentication) - - [Отладка ответов](#debugging-responses) - - [Обработка исключений](#exception-handling) -- [Тестирование JSON API](#testing-json-apis) - - [Последовательное тестирование JSON](#fluent-json-testing) -- [Тестирование загрузки файлов](#testing-file-uploads) -- [Тестирование шаблонной системы](#testing-views) - - [Отрисовка Blade и компоненты](#rendering-blade-and-components) -- [Доступные утверждения](#available-assertions) - - [Утверждения ответов](#response-assertions) - - [Утверждения аутентификации](#authentication-assertions) ## Введение @@ -600,18 +585,7 @@ Laravel также позволяет отображать шаблоны без Класс `Illuminate\Testing\TestResponse` содержит множество своих методов утверждения, которые вы можете использовать при тестировании вашего приложения. К этим утверждениям можно получить доступ в ответе, возвращаемом тестовыми методами `json`, `get`, `post`, `put`, и `delete`: - - - +
- [assertCookie](#assert-cookie) - [assertCookieExpired](#assert-cookie-expired) @@ -667,7 +641,7 @@ Laravel также позволяет отображать шаблоны без - [assertViewIs](#assert-view-is) - [assertViewMissing](#assert-view-missing) - +
#### assertCookie diff --git a/installation.md b/installation.md index 1027cd48..3d0d8852 100644 --- a/installation.md +++ b/installation.md @@ -1,27 +1,9 @@ -git bdc1629ce5b121d6d0e65f7d4c154cba70bb5ff0 - +--- +git: bdc1629ce5b121d6d0e65f7d4c154cba70bb5ff0 --- # Установка -- [Установка](#установка) - - [Встречайте Laravel](#meet-laravel) - - [Почему именно Laravel?](#why-laravel) - - [Ваш первый проект на Laravel](#your-first-laravel-project) - - [Начало работы в macOS](#getting-started-on-macos) - - [Начало работы в Windows](#getting-started-on-windows) - - [Разработка в подсистеме WSL2](#getting-started-on-windows-wsl) - - [Начало работы в Linux](#getting-started-on-linux) - - [Выбор служб Sail](#choosing-your-sail-services) - - [Установка через Composer](#installation-via-composer) - - [Установщик Laravel](#the-laravel-installer) - - [Начальная конфигурация](#initial-configuration) - - [Конфигурация на основе окружения](#environment-based-configuration) - - [Конфигурация каталога](#directory-configuration) - - [Следующие шаги](#next-steps) - - [Laravel как клиент-серверный фреймворк](#laravel-the-fullstack-framework) - - [Laravel в качестве сервера API](#laravel-the-api-backend) - ## Встречайте Laravel diff --git a/lifecycle.md b/lifecycle.md index 61bd354d..7cab6601 100644 --- a/lifecycle.md +++ b/lifecycle.md @@ -1,17 +1,9 @@ -git 3997418dec9e03d10bfefb1620ff51a34fb10b0b - +--- +git: 3997418dec9e03d10bfefb1620ff51a34fb10b0b --- # Жизненный цикл запроса -- [Введение](#introduction) -- [Обзор жизненного цикла](#lifecycle-overview) - - [Первые шаги](#first-steps) - - [HTTP-ядро и ядро консоли](#http-console-kernels) - - [Поставщики служб](#service-providers) - - [Маршрутизация](#routing) - - [Окончание](#finishing-up) -- [Сосредоточьтесь на поставщиках служб](#focus-on-service-providers) ## Введение diff --git a/localization.md b/localization.md index ff8b8258..6d2ed96f 100644 --- a/localization.md +++ b/localization.md @@ -1,18 +1,9 @@ -git 534aaa9e4789f0a6f5d55bc797f6a765f131cc63 - +--- +git: 534aaa9e4789f0a6f5d55bc797f6a765f131cc63 --- # Локализация интерфейса -- [Введение](#introduction) - - [Конфигурирование языка по умолчанию](#configuring-the-locale) -- [Определение строк перевода](#defining-translation-strings) - - [Использование коротких ключей](#using-short-keys) - - [Использование строк перевода в качестве ключей](#using-translation-strings-as-keys) -- [Получение строк перевода](#retrieving-translation-strings) - - [Замена параметров в строках перевода](#replacing-parameters-in-translation-strings) - - [Плюрализация](#pluralization) -- [Переопределение языковых файлов пакета](#overriding-package-language-files) ## Введение diff --git a/logging.md b/logging.md index 58d3e90d..eb335246 100644 --- a/logging.md +++ b/logging.md @@ -1,22 +1,9 @@ -git c719d3b7d11697c0003efd8853d27ca56c01d3c6 - +--- +git: c719d3b7d11697c0003efd8853d27ca56c01d3c6 --- # Логирование -- [Введение](#introduction) -- [Конфигурирование](#configuration) - - [Доступные драйверы канала](#available-channel-drivers) - - [Предварительная подготовка канала](#channel-prerequisites) - - [Логирование предупреждений об устаревании](#logging-deprecation-warnings) -- [Построение стека журналов](#building-log-stacks) -- [Запись сообщений журнала](#writing-log-messages) - - [Контекстная информация](#contextual-information) - - [Запись в определенные каналы](#writing-to-specific-channels) -- [Настройка канала Monolog](#monolog-channel-customization) - - [Настройка Monolog для каналов](#customizing-monolog-for-channels) - - [Создание обработчика каналов Monolog](#creating-monolog-handler-channels) - - [Создание каналов через фабрики](#creating-custom-channels-via-factories) ## Введение diff --git a/mail.md b/mail.md index d2bb1e6c..95239e31 100644 --- a/mail.md +++ b/mail.md @@ -1,33 +1,9 @@ -git 107f4bc901540cc7199e3fa055a73ad854324866 - +--- +git: 107f4bc901540cc7199e3fa055a73ad854324866 --- # Отправка электронной почты -- [Введение](#introduction) - - [Конфигурирование](#configuration) - - [Предварительная подготовка драйверов](#driver-prerequisites) - - [Конфигурация аварийного переключения](#failover-configuration) -- [Генерация отправлений](#generating-mailables) -- [Написание отправлений](#writing-mailables) - - [Конфигурирование отправителя](#configuring-the-sender) - - [Конфигурирование шаблона](#configuring-the-view) - - [Данные шаблона](#view-data) - - [Вложения](#attachments) - - [Встраиваемые вложения](#inline-attachments) - - [Настройка сообщения SwiftMailer](#customizing-the-swiftmailer-message) -- [Отправления с разметкой Markdown](#markdown-mailables) - - [Генерация отправлений с разметкой Markdown](#generating-markdown-mailables) - - [Написание сообщений с разметкой Markdown](#writing-markdown-messages) - - [Изменение компонентов](#customizing-the-components) -- [Отправка почты](#sending-mail) - - [Очередь почты](#queueing-mail) -- [Отображение отправлений](#rendering-mailables) - - [Предварительный просмотр отправлений в браузере](#previewing-mailables-in-the-browser) -- [Локализация отправлений](#localizing-mailables) -- [Тестирование отправлений](#testing-mailables) -- [Почта и локальная разработка](#mail-and-local-development) -- [События](#events) ## Введение diff --git a/middleware.md b/middleware.md index 859a3f7b..a87002dc 100644 --- a/middleware.md +++ b/middleware.md @@ -1,18 +1,9 @@ -git 7ed72664e8064432de56f59b80dec6eca3186a66 - +--- +git: 7ed72664e8064432de56f59b80dec6eca3186a66 --- # Посредники (middleware) -- [Введение](#introduction) -- [Определение посредника](#defining-middleware) -- [Регистрация посредника](#registering-middleware) - - [Глобальный стек HTTP-посредников](#global-middleware) - - [Назначение посредников маршрутам](#assigning-middleware-to-routes) - - [Группы посредников](#middleware-groups) - - [Сортировка посредников](#sorting-middleware) -- [Параметры посредника](#middleware-parameters) -- [Завершающий посредник](#terminable-middleware) ## Введение diff --git a/migrations.md b/migrations.md index b06199a9..bfa8fc8b 100644 --- a/migrations.md +++ b/migrations.md @@ -1,32 +1,9 @@ -git d35acdeace1152f3559b81c5ae02c18e80197a52 - +--- +git: c5552838e6da6b6a538f8ac052ce7a8b790c14ed --- # База данных · Миграции -- [Введение](#introduction) -- [Генерация миграций](#generating-migrations) - - [Сжатие миграций](#squashing-migrations) -- [Структура миграций](#migration-structure) -- [Запуск миграций](#running-migrations) - - [Откат миграций](#rolling-back-migrations) -- [Таблицы](#tables) - - [Создание таблиц](#creating-tables) - - [Обновление таблиц](#updating-tables) - - [Переименование / удаление таблиц](#renaming-and-dropping-tables) -- [Столбцы](#columns) - - [Создание столбцов](#creating-columns) - - [Доступные типы столбцов](#available-column-types) - - [Модификаторы столбца](#column-modifiers) - - [Изменение столбцов](#modifying-columns) - - [Удаление столбцов](#dropping-columns) -- [Индексы](#indexes) - - [Создание индексов](#creating-indexes) - - [Переименование индексов](#renaming-indexes) - - [Удаление индексов](#dropping-indexes) - - [Ограничения внешнего ключа](#foreign-key-constraints) -- [События](#events) - ## Введение @@ -317,26 +294,8 @@ Laravel будет использовать имя миграции, чтобы Построитель схем Blueprint предлагает множество методов, соответствующих различным типам столбцов, которые вы можете добавить в таблицы базы данных. Все доступные методы перечислены в таблице ниже: - - - +
- [bigIncrements](#column-method-bigIncrements) - [bigInteger](#column-method-bigInteger) @@ -403,7 +362,7 @@ Laravel будет использовать имя миграции, чтобы - [uuid](#column-method-uuid) - [year](#column-method-year) - +
#### `bigIncrements()` @@ -786,7 +745,7 @@ Laravel будет использовать имя миграции, чтобы $table->tinyInteger('votes'); -#### `tinyText()` {#collection-method} +#### `tinyText()` Метод `tinyText` создаёт эквивалент столбца `TINYTEXT`: @@ -887,7 +846,7 @@ Laravel будет использовать имя миграции, чтобы | `->unsigned()` | Установить столбцы INTEGER как UNSIGNED (MySQL). | | `->useCurrent()` | Установить столбцы TIMESTAMP для использования CURRENT_TIMESTAMP в качестве значения по умолчанию. | | `->useCurrentOnUpdate()` | Установить столбцы TIMESTAMP для использования CURRENT_TIMESTAMP при обновлении записи. | -| `->virtualAs($expression)` | Создать виртуальный генерируемый столбец (MySQL). | +| `->virtualAs($expression)` | Создать виртуальный генерируемый столбец (MySQL / PostgreSQL / SQLite). | | `->generatedAs($expression)` | Создать столбец идентификаторов с указанными параметрами последовательности (PostgreSQL). | | `->always()` | Определить приоритет значений последовательности над вводом для столбца идентификаторов (PostgreSQL). | | `->isGeometry()` | Установить для пространственного столбца тип `geometry` - по умолчанию устанавливается `geography` (PostgreSQL). | @@ -1185,3 +1144,4 @@ Laravel также поддерживает создание ограничен | `Illuminate\Database\Events\MigrationsEnded` | Завершено выполнение пакета миграций. | | `Illuminate\Database\Events\MigrationStarted` | Одна миграция вот-вот будет выполнена. | | `Illuminate\Database\Events\MigrationEnded` | Выполнение одной миграции завершено. | + diff --git a/mix.md b/mix.md index 18c11754..7b6adb70 100644 --- a/mix.md +++ b/mix.md @@ -1,32 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: 6ac13f37adbed3ce6a6532fd790f70bd731b8571 --- # Компиляция JS и CSS (Mix) -- [Введение](#introduction) -- [Установка и настройка](#installation) - - [Установка Node](#installing-node) - - [Установка Laravel Mix](#installing-laravel-mix) -- [Запуск Mix](#running-mix) - - [Наблюдение за изменениями исходников](#watching-assets-for-changes) -- [Работа с таблицами стилей](#working-with-stylesheets) - - [Tailwind CSS](#tailwindcss) - - [PostCSS](#postcss) - - [Sass](#sass) - - [Обработка URL](#url-processing) - - [Source maps CSS](#css-source-maps) - - [Сопоставление стилей исходников](#style-of-source-mapping) -- [Работа с JavaScript](#working-with-scripts) - - [Vue](#vue) - - [React](#react) - - [Извлечение сторонних библиотек](#vendor-extraction) - - [Пользовательская конфигурация Webpack](#custom-webpack-configuration) -- [Версионирование / очистка кеша](#versioning-and-cache-busting) - - [Корректировка базовых URL-адресов с помощью Mix](#custom-mix-base-urls) -- [Обновление контента с помощью Browsersync](#browsersync-reloading) -- [Переменные окружения](#environment-variables) -- [Уведомления](#notifications) ## Введение diff --git a/mocking.md b/mocking.md index 1d87b647..12c81c8a 100644 --- a/mocking.md +++ b/mocking.md @@ -1,25 +1,9 @@ -git efc061a4c23f5e9f7f9bdca886c45db1c4a23b51 - +--- +git: efc061a4c23f5e9f7f9bdca886c45db1c4a23b51 --- # Тестирование · Имитация -- [Введение](#introduction) -- [Подставные объекты](#mocking-objects) -- [Имитация фасадов](#mocking-facades) - - [Шпионы фасадов](#facade-spies) -- [Фальсификация Bus](#bus-fake) - - [Цепочка заданий](#bus-job-chains) - - [Пакетная обработка заданий](#job-batches) -- [Фальсификация Event](#event-fake) - - [Ограниченная фальсификация событий](#scoped-event-fakes) -- [Фальсификация HTTP](#http-fake) -- [Фальсификация Mail](#mail-fake) -- [Фальсификация Notification](#notification-fake) -- [Фальсификация Queue](#queue-fake) - - [Цепочка заданий](#job-chains) -- [Фальсификация Storage](#storage-fake) -- [Взаимодействие со временем](#interacting-with-time) ## Введение diff --git a/notifications.md b/notifications.md index 61c7e2bf..d492434d 100644 --- a/notifications.md +++ b/notifications.md @@ -1,55 +1,9 @@ -git f8eec0aa795d4fc21706d92e03dbaf0d6a3f4f30 - +--- +git: f8eec0aa795d4fc21706d92e03dbaf0d6a3f4f30 --- # Уведомления -- [Введение](#introduction) -- [Генерация уведомлений](#generating-notifications) -- [Отправка уведомлений](#sending-notifications) - - [Использование трейта `Notifiable`](#using-the-notifiable-trait) - - [Использование фасада `Notification`](#using-the-notification-facade) - - [Определение каналов доставки](#specifying-delivery-channels) - - [Очереди уведомлений](#queueing-notifications) - - [Уведомления по запросу](#on-demand-notifications) -- [Почтовые уведомления](#mail-notifications) - - [Формирование почтовых сообщений](#formatting-mail-messages) - - [Изменение отправителя](#customizing-the-sender) - - [Изменение получателя](#customizing-the-recipient) - - [Изменение темы сообщения](#customizing-the-subject) - - [Изменение почтового драйвера](#customizing-the-mailer) - - [Изменение почтовых шаблонов](#customizing-the-templates) - - [Почтовые вложения](#mail-attachments) - - [Использование почтовых отправлений](#using-mailables) - - [Предварительный просмотр почтовых уведомлений](#previewing-mail-notifications) -- [Почтовые уведомления с разметкой Markdown](#markdown-mail-notifications) - - [Генерация сообщения](#generating-the-message) - - [Написание сообщения](#writing-the-message) - - [Изменение компонентов](#customizing-the-components) -- [Уведомления через канал `database`](#database-notifications) - - [Предварительная подготовка канала `database`](#database-prerequisites) - - [Формирование уведомлений канала `database`](#formatting-database-notifications) - - [Доступ к уведомлениям](#accessing-the-notifications) - - [Отметка прочитанных уведомлений](#marking-notifications-as-read) -- [Трансляция уведомлений](#broadcast-notifications) - - [Предварительная подготовка канала `broadcast`](#broadcast-prerequisites) - - [Формирование транслируемых уведомлений](#formatting-broadcast-notifications) - - [Прослушивание транслируемых уведомлений](#listening-for-notifications) -- [Уведомления через SMS](#sms-notifications) - - [Предварительная подготовка канала SMS](#sms-prerequisites) - - [Формирование уведомлений через SMS](#formatting-sms-notifications) - - [Использование шорткодов при формировании SMS-уведомлений](#formatting-shortcode-notifications) - - [Изменение номера отправителя](#customizing-the-from-number) - - [Добавление ссылки на клиента](#adding-a-client-reference) - - [Маршрутизация SMS-уведомлений](#routing-sms-notifications) -- [Уведомления через Slack](#slack-notifications) - - [Предварительная подготовка канала Slack](#slack-prerequisites) - - [Формирование уведомления через Slack](#formatting-slack-notifications) - - [Вложения Slack-уведомлений](#slack-attachments) - - [Маршрутизация Slack-уведомлений](#routing-slack-notifications) -- [Локализация уведомлений](#localizing-notifications) -- [События уведомления](#notification-events) -- [Пользовательские каналы уведомлений](#custom-channels) ## Введение diff --git a/octane.md b/octane.md index 65b3e94a..91e35be8 100644 --- a/octane.md +++ b/octane.md @@ -1,32 +1,9 @@ -git 34eb006893f9e86010025689656aa8cba0096687 - +--- +git: b1ad87d60cbb98f2f17d9f3aa02b186278959877 --- # Laravel Octane -- [Введение](#introduction) -- [Установка](#installation) -- [Требования к серверу](#server-prerequisites) - - [RoadRunner](#roadrunner) - - [Swoole](#swoole) -- [Запуск приложения](#serving-your-application) - - [Запуск с HTTPS](#serving-your-application-via-https) - - [Запуск с Nginx](#serving-your-application-via-nginx) - - [Наблюдение за изменениями файлов](#watching-for-file-changes) - - [Указание количества Worker](#specifying-the-worker-count) - - [Указание максимального количества запросов](#specifying-the-max-request-count) - - [Перезагрузка Workers](#reloading-the-workers) - - [Остановка сервера](#stopping-the-server) -- [Внедрение зависимости и Octane](#dependency-injection-and-octane) - - [Контейнер для внедрений](#container-injection) - - [Запрос на внедрение](#request-injection) - - [Настройка репозитория внедрения](#configuration-repository-injection) -- [Управление утечкой памяти](#managing-memory-leaks) -- [Параллельные задачи](#concurrent-tasks) -- [Ticks & Intervals](#ticks-and-intervals) -- [Кеш Octane](#the-octane-cache) -- [Таблицы](#tables) - ## Введение @@ -50,7 +27,7 @@ php artisan octane:install ## Требования к серверу -> {Примечание} Laravel Octane требует [PHP 8.0+](https://php.net/releases/). +> {note} Laravel Octane требует [PHP 8.0+](https://php.net/releases/). ### RoadRunner @@ -109,7 +86,7 @@ pecl install swoole #### Swoole через Laravel Sail -> {Примечание} Перед обслуживанием приложения Octane через Sail убедитесь, что у вас установлена последняя версия [Laravel Sail](/docs/{{version}}/sail), и выполните `./vendor/bin/sail build --no-cache` в корневом каталоге вашего приложения. +> {note} Перед обслуживанием приложения Octane через Sail убедитесь, что у вас установлена последняя версия [Laravel Sail](/docs/{{version}}/sail), и выполните `./vendor/bin/sail build --no-cache` в корневом каталоге вашего приложения. В качестве альтернативы вы можете разработать приложение Octane на основе Swoole, используя [Laravel Sail](/docs/{{version}}/sail), официальную среду разработки на основе Docker для Laravel. Laravel Sail по умолчанию включает расширение Swoole. Однако вам все равно нужно будет настроить файл `supervisor.conf`, используемый Sail, чтобы ваше приложение работало. Для начала выполните Artisan-команду `sail:publish`: @@ -166,7 +143,7 @@ php artisan octane:start ### Запуск приложения с Nginx -> {Примечание} Если вы не совсем готовы управлять конфигурацией своего сервера или вам неудобно настраивать все различные службы, необходимые для запуска надежного приложения Laravel Octane, ознакомьтесь с [Laravel Forge](https://forge.laravel.com). +> {tip} Если вы не совсем готовы управлять конфигурацией своего сервера или вам неудобно настраивать все различные службы, необходимые для запуска надежного приложения Laravel Octane, ознакомьтесь с [Laravel Forge](https://forge.laravel.com). В производственных средах вы должны обслуживать приложение Octane на традиционном веб-сервере, таком как Nginx или Apache. Это позволит веб-серверу обслуживать ваши статические ресурсы, такие как изображения и таблицы стилей, а также управлять прекращением действия вашего сертификата SSL. @@ -386,7 +363,7 @@ $service->method($request->input('name')); Глобальный помощник `request` всегда будет возвращать запрос, который приложение в настоящее время обрабатывает, и поэтому его можно безопасно использовать в вашем приложении. -> {Примечание} Допускается вводить подсказку типа `Illuminate\Http\Request` по методам вашего контроллера и замыканиям маршрутов. +> {tip} Допускается вводить подсказку типа `Illuminate\Http\Request` по методам вашего контроллера и замыканиям маршрутов. ### Настройка репозитория внедрения @@ -457,13 +434,13 @@ public function index(Request $request) ## Параллельные задачи -> {Примечание} Для этой функции требуется [Swoole](#swoole). +> {note} Для этой функции требуется [Swoole](#swoole). При использовании Swoole вы можете выполнять операции одновременно с помощью легких фоновых задач. Вы можете сделать это, используя метод Octane `concurrently`. Вы можете комбинировать этот метод с деструктуризацией массива PHP для получения результатов каждой операции: ```php -use App\User; -use App\Server; +use App\Models\User; +use App\Models\Server; use Laravel\Octane\Facades\Octane; [$users, $servers] = Octane::concurrently([ @@ -481,7 +458,7 @@ php artisan octane:start --workers=4 --task-workers=6 ## Ticks & Intervals -> {Примечание} Для этой функции требуется [Swoole](#swoole). +> {note} Для этой функции требуется [Swoole](#swoole). При использовании Swoole вы можете зарегистрировать операции "tick", которые будут выполняться каждые заданное количество секунд. Вы можете зарегистрировать обратные вызовы "tick" с помощью метода `tick`. Первым аргументом, предоставленным методу, должна быть строка, представляющая имя операции. Второй аргумент должен быть вызываемой функцией, которая будет вызываться через указанный интервал. @@ -503,7 +480,7 @@ Octane::tick('simple-ticker', fn () => ray('Ticking...')) ## Кеш Octane -> {Примечание} Для этой функции требуется [Swoole](#swoole). +> {note} Для этой функции требуется [Swoole](#swoole). При использовании Swoole вы можете использовать кэш-драйвер Octane, который обеспечивает скорость чтения и записи до 2 миллионов операций в секунду. Таким образом, этот драйвер кэширования является отличным выбором для приложений, которым требуется экстремальная скорость чтения / записи на уровне кэширования. @@ -513,7 +490,7 @@ Octane::tick('simple-ticker', fn () => ray('Ticking...')) Cache::store('octane')->put('framework', 'Laravel', 30); ``` -> {Примечание} Максимальное количество записей, разрешенных в кэше Octane, может быть определено в файле конфигурации вашего приложения `octane`. +> {tip} Максимальное количество записей, разрешенных в кэше Octane, может быть определено в файле конфигурации вашего приложения `octane`. ### Интервалы кеширования @@ -531,7 +508,7 @@ Cache::store('octane')->interval('random', function () { ## Таблицы -> {Примечание} Для этой функции требуется [Swoole](#swoole). +> {note} Для этой функции требуется [Swoole](#swoole). При использовании Swoole вы можете определять свои собственные произвольные [таблицы Swoole](https://www.swoole.co.uk/docs/modules/swoole-table) и взаимодействовать с ними. Таблицы Swoole обеспечивают исключительную производительность, и к данным в этих таблицах могут получить доступ все воркеры (workers) на сервере. Однако данные в них будут потеряны при перезапуске сервера. @@ -559,4 +536,4 @@ Octane::table('example')->set('uuid', [ return Octane::table('example')->get('uuid'); ``` -> {Примечание} Таблицы Swoole поддерживают следующие типы столбцов: `string`, `int` и `float`. +> {note} Таблицы Swoole поддерживают следующие типы столбцов: `string`, `int` и `float`. diff --git a/packages.md b/packages.md index a49bdf94..c3098dc8 100644 --- a/packages.md +++ b/packages.md @@ -1,23 +1,9 @@ -git a6db77c849b310697e8b68a9e9c9ff9290b9bfd3 - +--- +git: a6db77c849b310697e8b68a9e9c9ff9290b9bfd3 --- # Разработка пакетов -- [Введение](#introduction) - - [Примечание о фасадах](#a-note-on-facades) -- [Обнаружение пакетов](#package-discovery) -- [Поставщики служб](#service-providers) -- [Ресурсы](#resources) - - [Конфигурация](#configuration) - - [Миграции](#migrations) - - [Маршруты](#routes) - - [Переводы](#translations) - - [Шаблоны](#views) - - [Компоненты шаблонов](#view-components) -- [Команды](#commands) -- [Публичные ресурсы](#public-assets) -- [Публикация групп файлов](#publishing-file-groups) ## Введение diff --git a/pagination.md b/pagination.md index 11414104..06f24b7c 100644 --- a/pagination.md +++ b/pagination.md @@ -1,24 +1,9 @@ -git 88bfe8ab0c3ff6aae9b5c8b106facfccdb4c8b83 - +--- +git: 88bfe8ab0c3ff6aae9b5c8b106facfccdb4c8b83 --- # База данных · Постраничная навигация -- [Введение](#introduction) -- [Основы использования](#basic-usage) - - [Разбиение результатов построителя запросов](#paginating-query-builder-results) - - [Разбиение результатов Eloquent](#paginating-eloquent-results) - - [Cursor-пагинация](#cursor-pagination) - - [Самостоятельное создание пагинатора](#manually-creating-a-paginator) - - [Настройка URL-адресов постраничной навигации](#customizing-pagination-urls) -- [Отображение результатов постраничной навигации](#displaying-pagination-results) - - [Регулирование количества отображаемых ссылок](#adjusting-the-pagination-link-window) - - [Преобразование результатов в JSON](#converting-results-to-json) -- [Настройка вида пагинации](#customizing-the-pagination-view) - - [Использование Bootstrap](#using-bootstrap) -- [Методы экземпляра Paginator и LengthAwarePaginator](#paginator-instance-methods) -- [Методы экземпляра Cursor Paginator](#cursor-paginator-instance-methods) - ## Введение diff --git a/passport.md b/passport.md index 33bf2844..e1ab77c7 100644 --- a/passport.md +++ b/passport.md @@ -1,52 +1,9 @@ -git bc890b36ef203f0dd3521da5466be50d7c016527 - +--- +git: bc890b36ef203f0dd3521da5466be50d7c016527 --- # Laravel Passport -- [Введение](#introduction) - - [Passport или Sanctum?](#passport-or-sanctum) -- [Установка](#installation) - - [Развертывание Passport](#deploying-passport) - - [Настройка миграции](#migration-customization) - - [Обновление Passport](#upgrading-passport) -- [Настройка](#configuration) - - [Хеширование секретного ключа клиента](#client-secret-hashing) - - [Срок жизни токена](#token-lifetimes) - - [Переопределение моделей по умолчанию](#overriding-default-models) -- [Выдача токенов доступа](#issuing-access-tokens) - - [Управление клиентами](#managing-clients) - - [Запрос токенов](#requesting-tokens) - - [Обновление токенов](#refreshing-tokens) - - [Отзыв токенов](#revoking-tokens) - - [Удаление токенов](#purging-tokens) -- [Предоставление кода авторизации с помощью PKCE](#code-grant-pkce) - - [Создание клиента](#creating-a-auth-pkce-grant-client) - - [Запрос токенов](#requesting-auth-pkce-grant-tokens) -- [Парольные токены](#password-grant-tokens) - - [Создание токенов](#creating-a-password-grant-client) - - [Запрос токенов](#requesting-password-grant-tokens) - - [Запрос токена для всех областей](#requesting-all-scopes) - - [Настройка пользовательского провайдера](#customizing-the-user-provider) - - [Настройка поля имени пользователя](#customizing-the-username-field) - - [Настройка проверки пароля пользователя](#customizing-the-password-validation) -- [Неявные токены](#implicit-grant-tokens) -- [Токены учетных данных](#client-credentials-grant-tokens) -- [Токены персонального доступа](#personal-access-tokens) - - [Создание токенов](#creating-a-personal-access-client) - - [Управление токенами](#managing-personal-access-tokens) -- [Защита маршрутов](#protecting-routes) - - [Через посредников](#via-middleware) - - [Через передачу токена](#passing-the-access-token) -- [Области токенов](#token-scopes) - - [Определение областей](#defining-scopes) - - [Области по-умолчанию](#default-scope) - - [Назначение областей токенам](#assigning-scopes-to-tokens) - - [Проверка областей](#checking-scopes) -- [Использование API через JavaScript](#consuming-your-api-with-javascript) -- [События](#events) -- [Тестирование](#testing) - ## Введение diff --git a/passwords.md b/passwords.md index 75f688df..50582f79 100644 --- a/passwords.md +++ b/passwords.md @@ -1,19 +1,9 @@ -git 90d6599e62e47b3da7eeec67d4053732415f187a - +--- +git: 90d6599e62e47b3da7eeec67d4053732415f187a --- # Сброс пароля -- [Введение](#introduction) - - [Подготовка модели](#model-preparation) - - [Подготовка базы данных](#database-preparation) - - [Конфигурирование доверенных хостов](#configuring-trusted-hosts) -- [Маршрутизация](#routing) - - [Запрос ссылки для сброса пароля](#requesting-the-password-reset-link) - - [Сброс пароля](#resetting-the-password) -- [Удаление просроченных токенов](#deleting-expired-tokens) -- [Настройка](#password-customization) - ## Введение diff --git a/providers.md b/providers.md index 6abdbfd7..c06f48c3 100644 --- a/providers.md +++ b/providers.md @@ -1,15 +1,9 @@ -git 452b5680b3a434f6736003dd3e7011d270c08fe0 - +--- +git: 452b5680b3a434f6736003dd3e7011d270c08fe0 --- # Сервис-провайдеры -- [Введение](#introduction) -- [Написание сервис-провайдеров](#writing-service-providers) - - [Метод `register`](#the-register-method) - - [Метод `boot`](#the-boot-method) -- [Регистрация сервис-провайдеров](#registering-providers) -- [Отложенные сервис-провайдеры](#deferred-providers) ## Введение diff --git a/queries.md b/queries.md index 328643fe..17a39415 100644 --- a/queries.md +++ b/queries.md @@ -1,40 +1,9 @@ -git 1be7f7520dbec11ae6094ab9c848237c5be554f5 - +--- +git: 1be7f7520dbec11ae6094ab9c848237c5be554f5 --- # База данных · Построитель запросов -- [Введение](#introduction) -- [Выполнение запросов к базе данных](#running-database-queries) - - [Разбиение результатов](#chunking-results) - - [Отложенная потоковая передача результатов](#streaming-results-lazily) - - [Агрегатные функции](#aggregates) -- [Выражения (select)](#select-statements) -- [Необрабатываемые (сырые) SQL-выражения](#raw-expressions) -- [Соединения (join)](#joins) -- [Объединения результатов (union)](#unions) -- [Основные выражения Where](#basic-where-clauses) - - [Выражения Where](#where-clauses) - - [Выражения Or Where](#or-where-clauses) - - [Выражения Where и JSON](#json-where-clauses) - - [Дополнительные выражения Where](#additional-where-clauses) - - [Логическая группировка](#logical-grouping) -- [Расширенные выражения Where](#advanced-where-clauses) - - [Выражения Where Exists](#where-exists-clauses) - - [Подзапросы выражений Where](#subquery-where-clauses) -- [Сортировка, группировка, ограничение и смещение](#ordering-grouping-limit-and-offset) - - [Сортировка](#ordering) - - [Группировка](#grouping) - - [Ограничение и смещение](#limit-and-offset) -- [Условные выражения](#conditional-clauses) -- [Вставка](#insert-statements) - - [Обновления-вставки](#upserts) -- [Обновление](#update-statements) - - [Обновление столбцов JSON](#updating-json-columns) - - [Увеличение и уменьшение отдельных значений](#increment-and-decrement) -- [Удаление](#delete-statements) -- [Пессимистическая блокировка](#pessimistic-locking) -- [Отладка](#debugging) ## Введение diff --git a/queues.md b/queues.md index 28bb6b31..bc5b492e 100644 --- a/queues.md +++ b/queues.md @@ -1,55 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: b1ad87d60cbb98f2f17d9f3aa02b186278959877 --- # Очереди -- [Введение](#introduction) - - [Соединения и очереди](#connections-vs-queues) - - [Предварительная подготовка драйверов](#driver-prerequisites) -- [Создание заданий (jobs)](#creating-jobs) - - [Генерация класса задания](#generating-job-classes) - - [Структура класса](#class-structure) - - [Уникальные задания](#unique-jobs) -- [Посредник задания](#job-middleware) - - [Ограничение частоты](#rate-limiting) - - [Предотвращение дублирования задания](#preventing-job-overlaps) - - [Ограничение частоты генерации исключений](#throttling-exceptions) -- [Отправка заданий](#dispatching-jobs) - - [Отложенная отправка](#delayed-dispatching) - - [Синхронная отправка](#synchronous-dispatching) - - [Задания и транзакции базы данных](#jobs-and-database-transactions) - - [Цепочка заданий](#job-chaining) - - [Настройка соединения и очереди](#customizing-the-queue-and-connection) - - [Указание максимального количества попыток задания / значений тайм-аута](#max-job-attempts-and-timeout) - - [Обработка ошибок](#error-handling) -- [Пакетная обработка заданий](#job-batching) - - [Определение пакета заданий](#defining-batchable-jobs) - - [Отправка пакета заданий](#dispatching-batches) - - [Добавление заданий в пакет заданий](#adding-jobs-to-batches) - - [Инспектирование пакета](#inspecting-batches) - - [Отмена пакетов](#cancelling-batches) - - [Отказы в пакете заданий](#batch-failures) - - [Очистка пакетов](#pruning-batches) -- [Анонимные очереди](#queueing-closures) -- [Запуск обработчика очереди](#running-the-queue-worker) - - [Команда `queue:work`](#the-queue-work-command) - - [Приоритеты очереди](#queue-priorities) - - [Обработчики очереди и развертывание](#queue-workers-and-deployment) - - [Истечение срока и тайм-ауты задания](#job-expirations-and-timeouts) -- [Конфигурация Supervisor](#supervisor-configuration) -- [Разбор неудачных заданий (failed jobs)](#dealing-with-failed-jobs) - - [Очистка после неудачных заданий](#cleaning-up-after-failed-jobs) - - [Повторная попытка выполнения неудачных заданий](#retrying-failed-jobs) - - [Игнорирование отсутствующих моделей](#ignoring-missing-models) - - [Удаление неудачных заданий](#pruning-failed-jobs) - - [Хранение неудачных заданий в DynamoDB](#storing-failed-jobs-in-dynamodb) - - [Отключение хранилища неудачных заданий](#disabling-failed-job-storage) - - [События неудачных заданий](#failed-job-events) -- [Удаление заданий из очередей](#clearing-jobs-from-queues) -- [Мониторинг очередей](#monitoring-your-queues) -- [События заданий](#job-events) - ## Введение @@ -267,7 +221,7 @@ git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 ## Введение diff --git a/readme.md b/readme.md index f10bfaeb..4306368a 100644 --- a/readme.md +++ b/readme.md @@ -1 +1,117 @@ -Перевод документации Laravel 8.x +# Перевод документации Laravel + +Этот репозиторий содержит русскоязычный перевод документации фреймворка Laravel. +Каждая ветка соответствует определенной версии фреймворка, таким образом, для внесения изменений в документацию, +относящуюся к Laravel 8.x, следует перейти в ветку `8.x`. + +> Если вы только знакомитесь, то удобнее будет читать материалы на сайте [laravel.su](https://laravel.su/docs). + +> **Предупреждение о проблеме TODO:** +``` +The document /8.x/billing.md is missing a Git hash +The document /8.x/cashier-paddle.md is missing a Git hash +The document /8.x/collections.md is missing a Git hash +The document /8.x/contributions.md is missing a Git hash +The document /8.x/valet.md is missing a Git hash +The document /5.4/apis.md is missing a Git hash +The document /4.2/README.md is missing a Git hash +``` + +**Проверка актуальности документации:** + +Для удобства использовании и внесения своевременных обновлений мы отслеживаем и отображаем текущее состояние каждого +раздела документации на странице [Статус перевода](https://laravel.su/status), что позволяет постоянно быть в курсе +последних обновлений. + +## Процесс внесения вклада + +Мы рады каждому, кто желает помочь улучшить и актуализировать перевод документации. +Независимо от того, хотите ли вы исправить опечатку или дополнить перевод новым разделом, ваш вклад всегда +приветствуется! + +### Исправление мелких недочетов + +Для исправления опечаток, неточностей или некорректных терминов не нужно быть экспертом в `git`, достаточно следующего: + +1. Найдите файл, который требует корректировки. +2. Нажмите на иконку карандаша в правом верхнем углу блока файла, чтобы начать редактирование. +3. Внесите нужные изменения и предложите **Pull Request** с вашими правками, следуя инструкциям GitHub. + +Если отсутствует раздел, который есть в английской версии, потребуется более формальный подход к переводу и добавлению +материалов который описан на +странице [Как правильно переводить документацию Laravel](https://laravel.su/articles/rus-documentation-contribution-guide) + +**Важно:** Все изменения должны следовать принятым стандартам качества перевода и будут проверяться перед публикацией. + +## Стандарты перевода + +Перевод документации — ответственная работа, и мы стремимся обеспечить высокое качество материалов. Пожалуйста, +ознакомьтесь со следующими принципами: + +### Согласованность + +Следите за тем, чтобы термины и фразы использовались единообразно по всему переводу. Например: + +❌ **Плохой перевод:** +> Ввод новой записи в базу данных может быть совершен с помощью Eloquent моделей. Для обновления записи следует +> использовать метод `save`. + +✅ **Хороший перевод:** +> Добавление новой записи в базу данных осуществляется через Eloquent модели. Для обновления существующей записи также +> используется метод `save`. + +*Плохой перевод демонстрирует использование разных терминов ("ввод" и "обновление") для обозначения схожих операций, что +может сбивать с толку. Хороший перевод использует согласованный язык, делая текст более понятным.* + +### Понятность и доступность + +Ваш перевод должен быть понятен широкой аудитории. Старайтесь использовать простые и четкие формулировки. Например: + +❌ **Плохой перевод:** +> Фасады обеспечивают статичный интерфейс к классам, которые доступны в сервис-контейнере приложения. + +✅ **Хороший перевод:** +> Фасады предоставляют удобный способ обращения к классам из контейнера служб Laravel, используя простой синтаксис, как +> при работе со статическими методами. + +*Плохой перевод не дает читателю понимания зачем используются фасады и какой у них интерфейс. Хороший перевод доступным +языком объясняет преимущества использования фасадов.* + +### Избегайте дословного перевода + +Внимательно относитесь к контексту, чтобы избежать ошибок из-за неучтенных нюансов языка. Например: + +❌ **Плохой перевод:** +> Если вы приведены когортой методов маршрутизации замысловатым образом, вы можете использовать контроллеры. + +✅ **Хороший перевод:** +> Если ваши маршруты становятся сложными из-за большого количества логики обработки, стоит использовать контроллеры. + +*Плохой перевод кажется неестественным и трудно понимается, в то время как хороший перевод корректно и понятно передает +суть предложения, сохраняя идиоматичность русского языка.* + +### Точность терминологии + +Техническая точность крайне важна, не допускайте искажения смысла из-за неправильного перевода терминов и конструкций. +Например: + +❌ **Плохой перевод:** +> Middleware это середина между запросом и ответом. + +✅ **Хороший перевод:** +> Посредник (Middleware) — программный компонент, который выступает в роли фильтра между полученным запросом и +> отправляемым ответом. + +*В плохом переводе термин "Middleware" некорректно интерпретирован, что затрудняет понимание его функции. Хороший +перевод точно объясняет роль Middleware в контексте запросов и ответов веб-приложения.* + +## Обратная связь и взаимодействие с сообществом + +Если у вас есть предложения или вы столкнулись с трудностями, не стесняйтесь открывать **issue** в репозитории или +комментировать существующие. +Мы стараемся оперативно реагировать на обратную связь и совершенствовать наши материалы. + +--- + +**Станьте ценной частью сообщества Laravel, начинайте изучение фреймворка с помощью качественно переведенной +документации!** diff --git a/redirects.md b/redirects.md index f26c63ab..302ece59 100644 --- a/redirects.md +++ b/redirects.md @@ -1,14 +1,9 @@ -git 2a0615c0b2833c9a6c80052c6896071fa525d0fc - +--- +git: 2a0615c0b2833c9a6c80052c6896071fa525d0fc --- # HTTP переадресация -- [Создание переадресации](#creating-redirects) -- [Переадресация на именованные маршруты](#redirecting-named-routes) -- [Переадресация на методы контроллера](#redirecting-controller-actions) -- [Переадресация с данными сеанса](#redirecting-with-flashed-session-data) - ## Создание переадресации diff --git a/redis.md b/redis.md index 299f864c..149d60ac 100644 --- a/redis.md +++ b/redis.md @@ -1,19 +1,9 @@ -git f45e1188b562f064d48f19e5965bc446adc8c987 - +--- +git: f45e1188b562f064d48f19e5965bc446adc8c987 --- # База данных · Использование Redis -- [Введение](#introduction) -- [Конфигурирование](#configuration) - - [Кластеры](#clusters) - - [Predis](#predis) - - [phpredis](#phpredis) -- [Взаимодействие с Redis](#interacting-with-redis) - - [Транзакции](#transactions) - - [Конвейерное выполнение команд](#pipelining-commands) -- [Публикация / подписка](#pubsub) - ## Введение diff --git a/releases.md b/releases.md index 32f21b70..3bfbedcd 100644 --- a/releases.md +++ b/releases.md @@ -1,14 +1,9 @@ -git 3593e2be5a7cebce36bf815412a89f6198dd8133 - +--- +git: ead5ead2ec97266ec049736cf0a93271327efdc7 --- # Примечания к релизу -- [Схема версионирования](#versioning-scheme) - - [Исключения](#exceptions) -- [Политика поддержки](#support-policy) -- [Laravel 8](#laravel-8) - ## Схема версионирования @@ -29,13 +24,17 @@ Laravel и другие его собственные пакеты следую Для всех выпусков Laravel исправления ошибок предоставляются в течение 18 месяцев, а исправления безопасности — в течение 2 лет. Для всех дополнительных библиотек, включая Lumen, только последний основной выпуск получает исправления ошибок. Кроме того, ознакомьтесь с версиями баз данных, которые [поддерживает Laravel](/docs/{{version}}/database#introduction). +
+ | Версия | PHP (*) | Дата релиза | Исправление ошибок до | Исправления безопасности до | |---------|-----------|---------------------|-----------------------|-----------------------------| | 6 (LTS) | 7.2 - 8.0 | September 3rd, 2019 | January 25th, 2022 | September 6th, 2022 | | 7 ¹ | 7.2 - 8.0 | March 3rd, 2020 | October 6th, 2020 | March 3rd, 2021 | | 8 | 7.3 - 8.1 | September 8th, 2020 | July 26th, 2022 | January 24th, 2023 | | 9 | 8.0 - 8.1 | February 8th, 2022 | August 8th, 2023 | February 6th, 2024 | -| 10 | 8.1 | February 7th, 2023 | August 6th, 2024 | February 4th, 2025 | +| 10 | 8.1 - 8.3 | February 14th, 2023 | August 6th, 2024 | February 4th, 2025 | + +
@@ -174,7 +173,7 @@ _Авторы: [Taylor Otwell](https://github.com/taylorotwell) и [Mohamed Said Новый метод `batch` фасада `Bus` используется для отправки пакета заданий. Конечно, это в первую очередь полезно в сочетании с замыканиями по завершению. Итак, вы можете использовать методы `then`, `catch`, и `finally` для определения замыканий пакета заданий. Каждый из этих замыканий получит экземпляр `Illuminate\Bus\Batch` при вызове: use App\Jobs\ProcessPodcast; - use App\Podcast; + use App\Models\Podcast; use Illuminate\Bus\Batch; use Illuminate\Support\Facades\Bus; use Throwable; diff --git a/requests.md b/requests.md index ccd42614..98a9ec6d 100644 --- a/requests.md +++ b/requests.md @@ -1,30 +1,9 @@ -git 6357172dc49acd8a2600b8d153f125ee743dfdb9 - +--- +git: 6357172dc49acd8a2600b8d153f125ee743dfdb9 --- # HTTP-запросы -- [Введение](#introduction) -- [Взаимодействие с запросом](#interacting-with-the-request) - - [Доступ к запросу](#accessing-the-request) - - [Путь и метод запроса](#request-path-and-method) - - [Заголовки запроса](#request-headers) - - [IP-адрес запроса](#request-ip-address) - - [Согласование содержимого](#content-negotiation) - - [Запросы стандарта PSR-7](#psr7-requests) -- [Данные полей ввода](#input) - - [Получение данных полей ввода](#retrieving-input) - - [Определение наличия требуемых данных](#determining-if-input-is-present) - - [Объединение дополнительных входных данных](#merging-additional-input) - - [Данные прошлого запроса](#old-input) - - [Файлы Cookies](#cookies) - - [Обрезание и нормализация значений полей ввода](#input-trimming-and-normalization) -- [Файлы](#files) - - [Получение загруженных файлов](#retrieving-uploaded-files) - - [Сохранение загруженных файлов](#storing-uploaded-files) -- [Конфигурирование доверенных прокси](#configuring-trusted-proxies) -- [Конфигурирование доверенных хостов](#configuring-trusted-hosts) - ## Введение diff --git a/responses.md b/responses.md index 7ac47075..5774d3e3 100644 --- a/responses.md +++ b/responses.md @@ -1,24 +1,9 @@ -git 58b5d7776b6ea1b04bfbe1f54c4800bc053f83aa - +--- +git: 58b5d7776b6ea1b04bfbe1f54c4800bc053f83aa --- # HTTP-ответы -- [Создание ответов](#creating-responses) - - [Добавление заголовков к ответам](#attaching-headers-to-responses) - - [Добавление файлов Cookies к ответам](#attaching-cookies-to-responses) - - [Файлы Cookies и шифрование](#cookies-and-encryption) -- [Перенаправления](#redirects) - - [Перенаправление на именованные маршруты](#redirecting-named-routes) - - [Перенаправление к действиям контроллера](#redirecting-controller-actions) - - [Перенаправление на внешние домены](#redirecting-external-domains) - - [Перенаправление с кратковременным сохранением данных в сессии](#redirecting-with-flashed-session-data) -- [Другие типы ответов](#other-response-types) - - [Ответы с HTML-шаблонами](#view-responses) - - [Ответы JSON](#json-responses) - - [Ответы для загрузки файлов](#file-downloads) - - [Ответы, отображающие содержимое файлов](#file-responses) -- [Макрокоманды ответа](#response-macros) ## Создание ответов diff --git a/routing.md b/routing.md index a1d2e984..b0f99c78 100644 --- a/routing.md +++ b/routing.md @@ -1,34 +1,9 @@ -git d9222ed567c15002e1b5c0a41f7d3de9184e1678 - +--- +git: d9222ed567c15002e1b5c0a41f7d3de9184e1678 --- # Маршрутизация -- [Основы маршрутизации](#basic-routing) - - [Маршруты перенаправлений](#redirect-routes) - - [Маршруты представлений](#view-routes) -- [Параметры маршрута](#route-parameters) - - [Обязательные параметры](#required-parameters) - - [Необязательные параметры](#parameters-optional-parameters) - - [Ограничения регулярного выражения](#parameters-regular-expression-constraints) -- [Именованные маршруты](#named-routes) -- [Группы маршрутов](#route-groups) - - [Посредники](#route-group-middleware) - - [Контроллеры](#route-group-controllers) - - [Маршрутизация поддоменов](#route-group-subdomain-routing) - - [Префиксы URI сгруппированных маршрутов](#route-group-prefixes) - - [Префиксы имен сгруппированных маршрутов](#route-group-name-prefixes) -- [Привязка модели к маршруту](#route-model-binding) - - [Неявная привязка](#implicit-binding) - - [Явная привязка](#explicit-binding) -- [Резервные маршруты](#fallback-routes) -- [Ограничение частоты запросов](#rate-limiting) - - [Определение ограничителей частоты запросов](#defining-rate-limiters) - - [Привязка ограничителей частоты запросов к маршрутам](#attaching-rate-limiters-to-routes) -- [Подмена методов формы](#form-method-spoofing) -- [Доступ к текущему маршруту](#accessing-the-current-route) -- [Совместное использование ресурсов между источниками (CORS)](#cors) -- [Кеширование маршрутов](#route-caching) ## Основы маршрутизации diff --git a/sail.md b/sail.md index 988fe0d4..fbffe335 100644 --- a/sail.md +++ b/sail.md @@ -1,35 +1,9 @@ -git 00db2a2351121c9d634c6ff164c5aff40a7be8d8 - +--- +git: 00db2a2351121c9d634c6ff164c5aff40a7be8d8 --- # Laravel Sail -- [Введение](#introduction) -- [Установка и настройка](#installation) - - [Установка Sail в существующее приложение](#installing-sail-into-existing-applications) - - [Настройка Bash псевдонимов](#configuring-a-bash-alias) -- [Запуск и остановка Sail](#starting-and-stopping-sail) -- [Выполнение команд](#executing-sail-commands) - - [Выполнение PHP команд](#executing-php-commands) - - [Выполнение Composer команд](#executing-composer-commands) - - [Выполнение Artisan команд](#executing-artisan-commands) - - [Выполнение Node/NPM команд](#executing-node-npm-commands) -- [Взаимодействие с базами данных](#interacting-with-sail-databases) - - [MySQL](#mysql) - - [Redis](#redis) - - [MeiliSearch](#meilisearch) -- [Файловое хранилище](#file-storage) -- [Тестирование](#running-tests) - - [Laravel Dusk](#laravel-dusk) -- [Предпросмотр писем](#previewing-emails) -- [Контейнер CLI](#sail-container-cli) -- [Версии PHP](#sail-php-versions) -- [Версии Node](#sail-node-versions) -- [Предоставление доступа к сайту](#sharing-your-site) -- [Отладка с Xdebug](#debugging-with-xdebug) - - [Отладка Artisan-команд](#xdebug-cli-usage) - - [Отладка в браузере](#xdebug-browser-usage) -- [Настройка](#sail-customization) ## Введение diff --git a/sanctum.md b/sanctum.md index cddd0dac..b37d702b 100644 --- a/sanctum.md +++ b/sanctum.md @@ -1,29 +1,9 @@ -git 2cf67bcaacfec590098cefb45af824b74671cfa0 - +--- +git: 2cf67bcaacfec590098cefb45af824b74671cfa0 --- # Пакет Laravel Sanctum -- [Введение](#introduction) - - [Как это работает](#how-it-works) -- [Установка](#installation) -- [Конфигурирование](#configuration) - - [Переопределение моделей по умолчанию](#overriding-default-models) -- [Аутентификация токена API](#api-token-authentication) - - [Выдача токенов API](#issuing-api-tokens) - - [Полномочия токена](#token-abilities) - - [Защита маршрутов](#protecting-routes) - - [Отзыв токенов](#revoking-tokens) -- [Аутентификация SPA](#spa-authentication) - - [Конфигурирование SPA](#spa-configuration) - - [Выполнение аутентификации SPA](#spa-authenticating) - - [Защита маршрутов SPA](#protecting-spa-routes) - - [Авторизация частных каналов вещания](#authorizing-private-broadcast-channels) -- [Аутентификация мобильного приложения](#mobile-application-authentication) - - [Выдача токенов API мобильного приложения](#issuing-mobile-api-tokens) - - [Защита маршрутов API мобильного приложения](#protecting-mobile-api-routes) - - [Отзыв токенов API мобильного приложения](#revoking-mobile-api-tokens) -- [Тестирование](#testing) ## Введение diff --git a/scheduling.md b/scheduling.md index a60a7d6d..50c51817 100644 --- a/scheduling.md +++ b/scheduling.md @@ -1,25 +1,9 @@ -git c24b35e43f354f8a20311fb7b7f75fa3b77cdc17 - +--- +git: c24b35e43f354f8a20311fb7b7f75fa3b77cdc17 --- # Планирование задач -- [Введение](#introduction) -- [Определение расписаний](#defining-schedules) - - [Планирование команд Artisan](#scheduling-artisan-commands) - - [Планирование отправки заданий в очереди](#scheduling-queued-jobs) - - [Планирование команд операционной системы](#scheduling-shell-commands) - - [Параметры периодичности расписания](#schedule-frequency-options) - - [Часовые пояса](#timezones) - - [Предотвращение дублирования задач](#preventing-task-overlaps) - - [Выполнение задач на одном сервере](#running-tasks-on-one-server) - - [Фоновые задачи](#background-tasks) - - [Режим технического обслуживания](#maintenance-mode) -- [Запуск планировщика](#running-the-scheduler) - - [Локальный запуск планировщика](#running-the-scheduler-locally) -- [Результат выполнения задачи](#task-output) -- [Хуки выполнения задачи](#task-hooks) -- [События](#events) ## Введение diff --git a/scout.md b/scout.md index 81588807..73cf022b 100644 --- a/scout.md +++ b/scout.md @@ -1,34 +1,9 @@ -git 34eb006893f9e86010025689656aa8cba0096687 - +--- +git: 34eb006893f9e86010025689656aa8cba0096687 --- # Laravel Scout -- [Введение](#introduction) -- [Установка](#installation) - - [Требования к драйверам](#driver-prerequisites) - - [Очередь](#queueing) -- [Настройка](#configuration) - - [Настройка индексов моделей](#configuring-model-indexes) - - [Настройка поисковых данных](#configuring-searchable-data) - - [Настройка идентификатора модели](#configuring-the-model-id) - - [Идентификация пользователей](#identifying-users) -- [Локальная разработка](#local-development) -- [Индексирование](#indexing) - - [Пакетный импорт](#batch-import) - - [Добавление записей](#adding-records) - - [Обновление записей](#updating-records) - - [Удаление записей](#removing-records) - - [Приостановка индексации](#pausing-indexing) - - [Экземпляры моделей с условным поиском](#conditionally-searchable-model-instances) -- [Поиск](#searching) - - [Условия Where](#where-clauses) - - [Постраничная разбивка данных (Pagination)](#pagination) - - [Псевдоудаление](#soft-deleting) - - [Настройка поискового движка](#customizing-engine-searches) -- [Разработка поискового движка](#custom-engines) -- [Собственные методы поиска](#builder-macros) - ## Введение diff --git a/seeding.md b/seeding.md index eb9fd94b..158a3c23 100644 --- a/seeding.md +++ b/seeding.md @@ -1,14 +1,9 @@ -git 20512e525670be13f3a1607a9939db2c5ce65f96 - +--- +git: 20512e525670be13f3a1607a9939db2c5ce65f96 --- # База данных · Наполнение фиктивными данными -- [Введение](#introduction) -- [Написание наполнителей](#writing-seeders) - - [Использование фабрик моделей](#using-model-factories) - - [Вызов дополнительных наполнителей](#calling-additional-seeders) -- [Запуск наполнителей](#running-seeders) ## Введение diff --git a/session.md b/session.md index 37d9ac96..4eeda189 100644 --- a/session.md +++ b/session.md @@ -1,23 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: 6ac13f37adbed3ce6a6532fd790f70bd731b8571 --- # Сессия HTTP -- [Введение](#introduction) - - [Конфигурирование](#configuration) - - [Предварительная подготовка драйверов](#driver-prerequisites) -- [Взаимодействие с сессией](#interacting-with-the-session) - - [Получение данных](#retrieving-data) - - [Сохранение данных](#storing-data) - - [Кратковременные данные](#flash-data) - - [Удаление данных](#deleting-data) - - [Пересоздание идентификатора сессии](#regenerating-the-session-id) -- [Блокировка сессии](#session-blocking) -- [Добавление пользовательских драйверов сессии](#adding-custom-session-drivers) - - [Реализация пользовательского драйвера](#implementing-the-driver) - - [Регистрация пользовательского драйвера](#registering-the-driver) - ## Введение diff --git a/socialite.md b/socialite.md index f3a838b4..6b2aa464 100644 --- a/socialite.md +++ b/socialite.md @@ -1,20 +1,9 @@ -git 882c775698f28e3148786c07fa0b8f9393308e13 - +--- +git: 882c775698f28e3148786c07fa0b8f9393308e13 --- # Пакет Laravel Socialite -- [Введение](#introduction) -- [Установка](#installation) -- [Обновление пакета Socialite](#upgrading-socialite) -- [Конфигурирование](#configuration) -- [Аутентификация](#authentication) - - [Маршрутизация](#routing) - - [Аутентификация и хранение](#authentication-and-storage) - - [Права доступа](#access-scopes) - - [Необязательные параметры](#optional-parameters) -- [Получение сведений о пользователе](#retrieving-user-details) - ## Введение diff --git a/starter-kits.md b/starter-kits.md index 5310c8ba..abfe5f79 100644 --- a/starter-kits.md +++ b/starter-kits.md @@ -1,15 +1,9 @@ -git ce3a0010f10469471667ab7eb177ce27217aca86 - +--- +git: 3799ea1f233d53097aa582e6475020f97226c1dc --- # Стартовые комплекты -- [Введение](#introduction) -- [Laravel Breeze](#laravel-breeze) - - [Установка](#laravel-breeze-installation) - - [Breeze & Inertia](#breeze-and-inertia) - - [Breeze & Next.js / API](#breeze-and-next) -- [Laravel Jetstream](#laravel-jetstream) ## Введение @@ -80,7 +74,7 @@ php artisan migrate ### Breeze & Next.js / API -Laravel Breeze также может формировать API аутентификации, готовый для аутентификации современных приложений JavaScript, таких, как те, которые работают на [Next](https://nextjs.org), [Nuxt](https://nuxtjs.org) и других. Для начала укажите стек `api` в качестве желаемого стека при выполнении Artisan-команды `breeze:install`: +Laravel Breeze также может формировать API аутентификации, готовый для аутентификации современных приложений JavaScript, таких, как те, которые работают на [Next](https://nextjs.org), [Nuxt](https://nuxt.com) и других. Для начала укажите стек `api` в качестве желаемого стека при выполнении Artisan-команды `breeze:install`: ```nothing php artisan breeze:install api @@ -102,4 +96,4 @@ php artisan migrate Jetstream предлагает красиво оформленный каркас приложений для Laravel и включает в себя вход в систему, регистрацию, подтверждение адреса электронной почты, двухфакторную аутентификацию, управление сессиями, поддержку API через Laravel Sanctum, и дополнительно, управление командой. Jetstream разработан с использованием [Tailwind CSS](https://tailwindcss.com) и предлагает на ваш выбор каркас клиентского интерфейса под управлением [Livewire](https://laravel-livewire.com) либо [Inertia.js](https://inertiajs.com). -Полное описание по установке Laravel Jetstream можно найти в [официальной документации Jetstream](https://jetstream.laravel.com/2.x/introduction.html). +Полное описание по установке Laravel Jetstream можно найти в [официальной документации Jetstream](https://jetstream.laravel.com/introduction.html). diff --git a/structure.md b/structure.md index d999780a..3498f968 100644 --- a/structure.md +++ b/structure.md @@ -1,35 +1,9 @@ -git 311a648538475de7e04c24bfa922e3c12288154a - +--- +git: 311a648538475de7e04c24bfa922e3c12288154a --- # Структура каталогов -- [Введение](#introduction) -- [Корневой каталог](#the-root-directory) - - [Каталог `app`](#the-root-app-directory) - - [Каталог `bootstrap`](#the-bootstrap-directory) - - [Каталог `config`](#the-config-directory) - - [Каталог `database`](#the-database-directory) - - [Каталог `public`](#the-public-directory) - - [Каталог `resources`](#the-resources-directory) - - [Каталог `routes`](#the-routes-directory) - - [Каталог `storage`](#the-storage-directory) - - [Каталог `tests`](#the-tests-directory) - - [Каталог `vendor`](#the-vendor-directory) -- [Каталог пространства `App`](#the-app-directory) - - [Каталог пространства `Broadcasting`](#the-broadcasting-directory) - - [Каталог пространства `Console`](#the-console-directory) - - [Каталог пространства `Events`](#the-events-directory) - - [Каталог пространства `Exceptions`](#the-exceptions-directory) - - [Каталог пространства `Http`](#the-http-directory) - - [Каталог пространства `Jobs`](#the-jobs-directory) - - [Каталог пространства `Listeners`](#the-listeners-directory) - - [Каталог пространства `Mail`](#the-mail-directory) - - [Каталог пространства `Models`](#the-models-directory) - - [Каталог пространства `Notifications`](#the-notifications-directory) - - [Каталог пространства `Policies`](#the-policies-directory) - - [Каталог пространства `Providers`](#the-providers-directory) - - [Каталог пространства `Rules`](#the-rules-directory) ## Введение diff --git a/telescope.md b/telescope.md index 035bd668..7696ed36 100644 --- a/telescope.md +++ b/telescope.md @@ -1,40 +1,9 @@ -git 2cf67bcaacfec590098cefb45af824b74671cfa0 - +--- +git: 2cf67bcaacfec590098cefb45af824b74671cfa0 --- # Пакет Laravel Telescope -- [Введение](#introduction) -- [Установка](#installation) - - [Только локальная установка](#local-only-installation) - - [Конфигурирование](#configuration) - - [Очистка накопленных данных](#data-pruning) - - [Авторизация в панели управления](#dashboard-authorization) -- [Обновление пакета Telescope](#upgrading-telescope) -- [Фильтрация](#filtering) - - [Фильтрация записей](#filtering-entries) - - [Фильтрация пакетов](#filtering-batches) -- [Добавление меток](#tagging) -- [Доступные наблюдатели](#available-watchers) - - [Наблюдатель Batch](#batch-watcher) - - [Наблюдатель Cache](#cache-watcher) - - [Наблюдатель Command](#command-watcher) - - [Наблюдатель Dump](#dump-watcher) - - [Наблюдатель Event](#event-watcher) - - [Наблюдатель Exception](#exception-watcher) - - [Наблюдатель Gate](#gate-watcher) - - [Наблюдатель HTTP Client](#http-client-watcher) - - [Наблюдатель Job](#job-watcher) - - [Наблюдатель Log](#log-watcher) - - [Наблюдатель Mail](#mail-watcher) - - [Наблюдатель Model](#model-watcher) - - [Наблюдатель Notification](#notification-watcher) - - [Наблюдатель Query](#query-watcher) - - [Наблюдатель Redis](#redis-watcher) - - [Наблюдатель Request](#request-watcher) - - [Наблюдатель Schedule](#schedule-watcher) - - [Наблюдатель View](#view-watcher) -- [Отображение аватара пользователя](#displaying-user-avatars) ## Введение diff --git a/testing.md b/testing.md index 4b0ce624..87ab65c1 100644 --- a/testing.md +++ b/testing.md @@ -1,14 +1,9 @@ -git 5c1c29be353a06c6e7065c04ec90ab816bb2a7c9 - +--- +git: 5c1c29be353a06c6e7065c04ec90ab816bb2a7c9 --- # Тестирование · Начало работы -- [Введение](#introduction) -- [Окружение](#environment) -- [Создание тестов](#creating-tests) -- [Запуск тестов](#running-tests) - - [Параллельное выполнение тестов](#running-tests-in-parallel) ## Введение diff --git a/upgrade.md b/upgrade.md index 21a7fec6..5586648b 100644 --- a/upgrade.md +++ b/upgrade.md @@ -1,10 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: da7f0c1b2c5b35fde895bf4ef5fefd743c4a48d0 --- # Руководство по обновлению -- [Обновление с 7.x версии до 8.0](#upgrade-8.0) ## Изменения, оказывающие большое влияние @@ -198,8 +197,8 @@ git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 define('LARAVEL_START', microtime(true)); - if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) { - require __DIR__.'/../storage/framework/maintenance.php'; + if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) { + require $maintenance; } diff --git a/urls.md b/urls.md index 404ad44e..6701649c 100644 --- a/urls.md +++ b/urls.md @@ -1,18 +1,9 @@ -git 34eb006893f9e86010025689656aa8cba0096687 - +--- +git: 34eb006893f9e86010025689656aa8cba0096687 --- # Генерация URL-адресов -- [Введение](#introduction) -- [Основы](#the-basics) - - [Создание URL](#generating-urls) - - [Доступ к текущему URL](#accessing-the-current-url) -- [URL для именованных маршрутов](#urls-for-named-routes) - - [Подписанные URL](#signed-urls) -- [URL для действий контроллера](#urls-for-controller-actions) -- [Значения по умолчанию](#default-values) - ## Введение diff --git a/valet.md b/valet.md index 4b3d620f..0a5e6284 100644 --- a/valet.md +++ b/valet.md @@ -1,22 +1,8 @@ -# Laravel Valet +--- -- [Introduction](#introduction) -- [Installation](#installation) - - [Upgrading Valet](#upgrading-valet) -- [Serving Sites](#serving-sites) - - [The "Park" Command](#the-park-command) - - [The "Link" Command](#the-link-command) - - [Securing Sites With TLS](#securing-sites) -- [Sharing Sites](#sharing-sites) - - [Sharing Sites Via Ngrok](#sharing-sites-via-ngrok) - - [Sharing Sites Via Expose](#sharing-sites-via-expose) - - [Sharing Sites On Your Local Network](#sharing-sites-on-your-local-network) -- [Site Specific Environment Variables](#site-specific-environment-variables) -- [Proxying Services](#proxying-services) -- [Custom Valet Drivers](#custom-valet-drivers) - - [Local Drivers](#local-drivers) -- [Other Valet Commands](#other-valet-commands) -- [Valet Directories & Files](#valet-directories-and-files) +--- + +# Laravel Valet ## Introduction @@ -27,14 +13,8 @@ In other words, Valet is a blazing fast Laravel development environment that use Out of the box, Valet support includes, but is not limited to: - +
-
- [Laravel](https://laravel.com) - [Lumen](https://lumen.laravel.com) - [Bedrock](https://roots.io/bedrock/) @@ -57,6 +37,7 @@ Out of the box, Valet support includes, but is not limited to: - [Symfony](https://symfony.com) - [WordPress](https://wordpress.org) - [Zend](https://framework.zend.com) +
However, you may extend Valet with your own [custom drivers](#custom-valet-drivers). @@ -354,16 +335,16 @@ If you would like to define a custom Valet driver for a single application, crea ## Other Valet Commands -Command | Description -------------- | ------------- -`valet forget` | Run this command from a "parked" directory to remove it from the parked directory list. -`valet log` | View a list of logs which are written by Valet's services. -`valet paths` | View all of your "parked" paths. -`valet restart` | Restart the Valet daemons. -`valet start` | Start the Valet daemons. -`valet stop` | Stop the Valet daemons. -`valet trust` | Add sudoers files for Brew and Valet to allow Valet commands to be run without prompting for your password. -`valet uninstall` | Uninstall Valet: shows instructions for manual uninstall. Pass the `--force` option to aggressively delete all of Valet's resources. +| Command | Description | +|-------------------|--------------------------------------------------------------------------------------------------------------------------------------| +| `valet forget` | Run this command from a "parked" directory to remove it from the parked directory list. | +| `valet log` | View a list of logs which are written by Valet's services. | +| `valet paths` | View all of your "parked" paths. | +| `valet restart` | Restart the Valet daemons. | +| `valet start` | Start the Valet daemons. | +| `valet stop` | Stop the Valet daemons. | +| `valet trust` | Add sudoers files for Brew and Valet to allow Valet commands to be run without prompting for your password. | +| `valet uninstall` | Uninstall Valet: shows instructions for manual uninstall. Pass the `--force` option to aggressively delete all of Valet's resources. | ## Valet Directories & Files diff --git a/validation.md b/validation.md index 45ba9fd2..827a57dc 100644 --- a/validation.md +++ b/validation.md @@ -1,42 +1,9 @@ -git 6ac13f37adbed3ce6a6532fd790f70bd731b8571 - +--- +git: 6ac13f37adbed3ce6a6532fd790f70bd731b8571 --- # Валидация -- [Введение](#introduction) -- [Быстрый старт](#validation-quickstart) - - [Определение маршрутов](#quick-defining-the-routes) - - [Создание контроллера](#quick-creating-the-controller) - - [Написание логики валидации](#quick-writing-the-validation-logic) - - [Отображение ошибок валидации](#quick-displaying-the-validation-errors) - - [Повторное заполнение форм](#repopulating-forms) - - [Примечание о необязательных полях](#a-note-on-optional-fields) -- [Валидация запроса формы](#form-request-validation) - - [Создание запросов формы](#creating-form-requests) - - [Авторизация запросов](#authorizing-form-requests) - - [Корректировка сообщений об ошибках](#customizing-the-error-messages) - - [Подготовка входящих данных для валидации](#preparing-input-for-validation) -- [Создание валидатора по требованию](#manually-creating-validators) - - [Автоматическое перенаправление](#automatic-redirection) - - [Именованные коллекции ошибок](#named-error-bags) - - [Корректировка сообщений об ошибках](#manual-customizing-the-error-messages) - - [Хук валидатора After](#after-validation-hook) -- [Работа с проверенными данными](#working-with-validated-input) -- [Работа с сообщениями об ошибках](#working-with-error-messages) - - [Указание пользовательских сообщений в языковых файлах](#specifying-custom-messages-in-language-files) - - [Указание атрибутов в языковых файлах](#specifying-attribute-in-language-files) - - [Указание пользовательских имен для атрибутов в языковых файлах](#specifying-values-in-language-files) -- [Доступные правила валидации](#available-validation-rules) -- [Условное добавление правил](#conditionally-adding-rules) -- [Валидация массивов](#validating-arrays) - - [Исключение непроверенных ключей массива](#excluding-unvalidated-array-keys) - - [Проверка входных данных вложенного массива](#validating-nested-array-input) -- [Валидация паролей](#validating-passwords) -- [Пользовательские правила валидации](#custom-validation-rules) - - [Использование класса Rule](#using-rule-objects) - - [Использование замыканий](#using-closures) - - [Неявные правила](#implicit-rules) ## Введение @@ -742,18 +709,8 @@ Laravel также содержит глобального помощника `o Ниже приведен список всех доступных правил валидации и их функций: - - +
- [Accepted](#rule-accepted) - [Accepted If](#rule-accepted-if) @@ -836,7 +793,7 @@ Laravel также содержит глобального помощника `o - [URL](#rule-url) - [UUID](#rule-uuid) - +
#### accepted diff --git a/verification.md b/verification.md index d5e91713..18f40c6b 100644 --- a/verification.md +++ b/verification.md @@ -1,19 +1,9 @@ -git e40c6670934574de22db31ad6e84c4a035d65c6c - +--- +git: e40c6670934574de22db31ad6e84c4a035d65c6c --- # Подтверждение адреса электронной почты -- [Введение](#introduction) - - [Подготовка модели](#model-preparation) - - [Подготовка базы данных](#database-preparation) -- [Маршрутизация](#verification-routing) - - [Уведомление о подтверждении электронной почты](#the-email-verification-notice) - - [Обработчик проверки электронной почты](#the-email-verification-handler) - - [Повторная отправка письма с подтверждением](#resending-the-verification-email) - - [Защита маршрутов](#protecting-routes) -- [Настройка](#customization) -- [События](#events) ## Введение diff --git a/views.md b/views.md index 756bc6d6..645bfb6c 100644 --- a/views.md +++ b/views.md @@ -1,19 +1,9 @@ -git fa38597c7d27bf505b912772e848272d44cc3adf - +--- +git: fa38597c7d27bf505b912772e848272d44cc3adf --- # HTML-шаблоны -- [Введение](#introduction) -- [Создание и отрисовка шаблонов](#creating-and-rendering-views) - - [Вложенные каталоги шаблонов](#nested-view-directories) - - [Использование первого доступного шаблона](#creating-the-first-available-view) - - [Определение наличия шаблона](#determining-if-a-view-exists) -- [Передача данных шаблону](#passing-data-to-views) - - [Общедоступные данные для всех шаблонов](#sharing-data-with-all-views) -- [Компоновщики шаблонов](#view-composers) - - [Создатели шаблонов](#view-creators) -- [Оптимизация шаблонов](#optimizing-views) ## Введение