### Install Dusk and Assets Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Installs Dusk and creates the necessary browser test directory and example test. It also downloads the ChromeDriver binary. ```shell php artisan dusk:install ``` -------------------------------- ### Install Valet and Dependencies Source: https://github.com/laravelsu/docs/blob/12.x/valet.md Installs Valet, DnsMasq, and configures them to run on system startup. This command also ensures Valet is correctly set up. ```shell valet install ``` -------------------------------- ### Install Laravel Reverb Source: https://github.com/laravelsu/docs/blob/12.x/reverb.md Installs Laravel Reverb using the Artisan command. This command sets up the necessary files and configurations for Reverb. ```shell php artisan install:broadcasting ``` -------------------------------- ### Install Laravel Dusk Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Installs the Laravel Dusk package as a development dependency using Composer. ```shell composer require laravel/dusk --dev ``` -------------------------------- ### Установка Laravel Installer CLI Source: https://github.com/laravelsu/docs/blob/12.x/starter-kits.md Устанавливает Laravel Installer CLI с помощью Composer для создания новых приложений Laravel. ```shell composer global require laravel/installer ``` -------------------------------- ### Install Laravel Cashier Source: https://github.com/laravelsu/docs/blob/12.x/billing.md Install the Cashier package using Composer. This command downloads and installs the necessary files for Cashier. ```shell composer require laravel/cashier ``` -------------------------------- ### Install PHP with Homebrew Source: https://github.com/laravelsu/docs/blob/12.x/valet.md Installs PHP using Homebrew, a prerequisite for using Valet. ```shell brew install php ``` -------------------------------- ### Install Valet with Composer Source: https://github.com/laravelsu/docs/blob/12.x/valet.md Installs Laravel Valet as a global Composer package. Ensure your Composer vendor bin directory is in your system's PATH. ```shell composer global require laravel/valet ``` -------------------------------- ### Подтверждение Stripe Card Setup с помощью Stripe.js Source: https://github.com/laravelsu/docs/blob/12.x/billing.md Обрабатывает событие нажатия кнопки для подтверждения Stripe Card Setup. Он использует секрет клиента из Setup Intent и данные из элемента карты для получения идентификатора способа оплаты или сообщения об ошибке. ```javascript const cardHolderName = document.getElementById('card-holder-name'); const cardButton = document.getElementById('card-button'); const clientSecret = cardButton.dataset.secret; cardButton.addEventListener('click', async (e) => { const { setupIntent, error } = await stripe.confirmCardSetup( clientSecret, { payment_method: { card: cardElement, billing_details: { name: cardHolderName.value } } } ); if (error) { // Отображение «error.message» пользователю... } else { // Карта успешно проверена... } }); ``` -------------------------------- ### start - Добавление префикса к строке Source: https://github.com/laravelsu/docs/blob/12.x/strings.md Метод start добавляет один экземпляр указанного значения в переданную строку, если она еще не начинается этим значением. ```php use Illuminate\Support\Str; $adjusted = Str::of('this/string')->start('/'); // /this/string $adjusted = Str::of('/this/string')->start('/'); // /this/string ``` -------------------------------- ### Install Laravel Pulse Source: https://github.com/laravelsu/docs/blob/12.x/pulse.md Install the Laravel Pulse package using Composer. This command downloads and installs the necessary files for the Pulse package. ```shell composer require laravel/pulse ``` -------------------------------- ### Создание Stripe Setup Intent в Laravel Source: https://github.com/laravelsu/docs/blob/12.x/billing.md Создает новый Stripe Setup Intent для безопасного сбора платежных данных клиента. Этот метод должен быть вызван из маршрута или контроллера, который отображает форму для сбора данных. ```php return view('update-payment-method', [ 'intent' => $user->createSetupIntent() ]); ``` -------------------------------- ### Install Laravel Horizon Source: https://github.com/laravelsu/docs/blob/12.x/horizon.md Installs the Laravel Horizon package using Composer. This is the first step to integrating Horizon into your Laravel project. ```shell composer require laravel/horizon ``` -------------------------------- ### Install Laravel Folio Source: https://github.com/laravelsu/docs/blob/12.x/folio.md Provides the Composer command to install the Laravel Folio package. After installation, it shows the Artisan command to install the Folio service provider, which registers the directory for Folio pages. ```shell composer require laravel/folio ``` ```shell php artisan folio:install ``` -------------------------------- ### Install Laravel Passport Source: https://github.com/laravelsu/docs/blob/12.x/passport.md Installs Laravel Passport using the `install:api` Artisan command, which sets up database migrations and encryption keys. ```Shell php artisan install:api --passport ``` -------------------------------- ### Install Laravel Envoy Source: https://github.com/laravelsu/docs/blob/12.x/envoy.md Installs the Laravel Envoy package using Composer. This command should be run in your project directory. ```shell composer require laravel/envoy --dev ``` -------------------------------- ### Start Reverb Server with Hostname Source: https://github.com/laravelsu/docs/blob/12.x/reverb.md Starts the Reverb server, specifying the host and port. This command is useful for local development with tools like Laravel Herd or Valet, allowing Reverb to use site-specific certificates for secure WebSocket connections. ```shell php artisan reverb:start --host="0.0.0.0" --port=8080 --hostname="laravel.test" ``` -------------------------------- ### Install Precognition for React and Inertia Source: https://github.com/laravelsu/docs/blob/12.x/precognition.md Provides the command to install the `laravel-precognition-react-inertia` package using NPM, which is necessary for using Precognition with React and Inertia applications. ```shell npm install laravel-precognition-react-inertia ``` -------------------------------- ### Install Meilisearch PHP SDK Source: https://github.com/laravelsu/docs/blob/12.x/scout.md Installs the Meilisearch PHP SDK and the HTTP client factory using Composer. This is a prerequisite for using Meilisearch with Laravel Scout. ```shell composer require meilisearch/meilisearch-php http-interop/http-factory-guzzle ``` -------------------------------- ### Install Laravel Scout Source: https://github.com/laravelsu/docs/blob/12.x/scout.md Installs the Laravel Scout package using Composer. This is the first step to integrating full-text search into your Laravel application. ```shell composer require laravel/scout ``` -------------------------------- ### Install Sail with Devcontainer Support Source: https://github.com/laravelsu/docs/blob/12.x/sail.md Installs Laravel Sail and includes configuration for Devcontainers, creating a default `.devcontainer/devcontainer.json` file. This is useful for development environments that leverage VS Code's remote container features. ```shell php artisan sail:install --devcontainer ``` -------------------------------- ### Install Laravel Pint Source: https://github.com/laravelsu/docs/blob/12.x/pint.md Installs Laravel Pint as a development dependency using Composer. This command is typically used for older Laravel applications as Pint is included in newer versions. ```Shell composer require laravel/pint --dev ``` -------------------------------- ### Configure Multiple Applications in Reverb Source: https://github.com/laravelsu/docs/blob/12.x/reverb.md Allows serving multiple applications from a single Reverb installation by defining multiple 'apps' in the `config/reverb.php` file. ```php 'apps' => [ [ 'app_id' => 'my-app-one', // ... ], [ 'app_id' => 'my-app-two', // ... ], ], ``` -------------------------------- ### Cursor Pagination URL Example Source: https://github.com/laravelsu/docs/blob/12.x/pagination.md An example of a URL containing a cursor for pagination, which is used to determine the starting point and direction for subsequent paginated requests. ```text http://localhost/users?cursor=eyJpZCI6MTUsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0 ``` -------------------------------- ### PHP take: Get characters from the start of a string Source: https://github.com/laravelsu/docs/blob/12.x/strings.md The take method returns a specified number of characters from the beginning of a string. This is useful for creating string previews or truncating text. ```php use Illuminate\Support\Str; $taken = Str::of('Build something amazing!')->take(5); // Build ``` -------------------------------- ### Создание нового приложения Laravel с помощью Herd CLI (Windows) Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Этот фрагмент кода показывает, как использовать Laravel CLI, входящий в состав Herd, для создания нового приложения Laravel в Windows с использованием Powershell. Он включает навигацию по каталогам и открытие приложения с помощью команды herd open. ```shell cd \\~\Herd laravel new my-app cd my-app herd open ``` -------------------------------- ### Manage ChromeDriver Installations Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Manages ChromeDriver installations for Laravel Dusk. Allows installing the latest version, a specific version, all supported versions, or detecting the installed Chrome version. ```shell php artisan dusk:chrome-driver ``` ```shell php artisan dusk:chrome-driver 86 ``` ```shell php artisan dusk:chrome-driver --all ``` ```shell php artisan dusk:chrome-driver --detect ``` -------------------------------- ### Str::start() - Prepend String if Necessary Source: https://github.com/laravelsu/docs/blob/12.x/strings.md Prepends a specified value to a string only if the string does not already start with that value. Ensures a consistent prefix. ```php use Illuminate\Support\Str; $adjusted = Str::start('this/string', '/'); // /this/string $adjusted = Str::start('/this/string', '/'); // /this/string ``` -------------------------------- ### Создание нового приложения Laravel Source: https://github.com/laravelsu/docs/blob/12.x/starter-kits.md Создает новое приложение Laravel с использованием Laravel CLI, предлагая выбор стартового набора. ```shell laravel new my-app ``` -------------------------------- ### Replace Start with Str::replaceStart() Source: https://github.com/laravelsu/docs/blob/12.x/strings.md Replaces the beginning of a string only if it starts with the specified value. ```PHP use Illuminate\Support\Str; $replaced = Str::replaceStart('Hello', 'Laravel', 'Hello World'); // Laravel World $replaced = Str::replaceStart('World', 'Laravel', 'Hello World'); // Hello World ``` -------------------------------- ### Применение миграций базы данных Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Команда для выполнения миграций базы данных Laravel. Эта команда создает необходимые таблицы в базе данных, если используется база данных, отличная от SQLite. ```shell php artisan migrate ``` -------------------------------- ### Run Envoy Executable Source: https://github.com/laravelsu/docs/blob/12.x/envoy.md Executes the Envoy command-line tool after installation. This command assumes Envoy is installed via Composer. ```shell php vendor/bin/envoy ``` -------------------------------- ### PHP: Ожидание изменения пути страницы Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Метод `waitForLocation` ожидает, пока путь страницы (`window.location.pathname`) не достигнет определенного значения или URL. Это полезно при работе с асинхронными обновлениями маршрутизации. ```php $browser->waitForLocation('/secret'); ``` ```php $browser->waitForLocation('https://example.com/path'); ``` ```php $browser->waitForRoute($routeName, $parameters); ``` -------------------------------- ### Switch PHP Version Source: https://github.com/laravelsu/docs/blob/12.x/valet.md Allows switching the active PHP version for Valet. If the version is not installed, Valet will install it via Homebrew. ```shell valet use php@8.2 valet use php ``` -------------------------------- ### Создание нового приложения Laravel Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Команда для создания нового приложения Laravel с использованием установщика Laravel. Приложение будет настроено с выбранными параметрами среды тестирования, базы данных и стартового комплекта. ```shell laravel new example-app ``` -------------------------------- ### Публикация конфигурационного файла пакета Laravel Source: https://github.com/laravelsu/docs/blob/12.x/packages.md Публикует конфигурационный файл пакета в каталог `config` приложения, позволяя пользователям легко переопределять параметры. Использует метод `publishes` в методе `boot` поставщика службы. ```php /** * Загрузка любых служб пакета. */ public function boot(): void { $this->publishes([ __DIR__.'/../config/courier.php' => config_path('courier.php'), ]); } ``` -------------------------------- ### Laravel Pail: Install Package Source: https://github.com/laravelsu/docs/blob/12.x/logging.md Installs the Laravel Pail package using Composer. This package requires the PCNTL PHP extension. ```shell composer require --dev laravel/pail ``` -------------------------------- ### Создание нового приложения Laravel с помощью Herd CLI (macOS) Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Этот фрагмент кода демонстрирует, как использовать Laravel CLI, входящий в состав Herd, для создания нового приложения Laravel в macOS. Он включает навигацию по каталогам и открытие приложения с помощью команды herd open. ```shell cd ~/Herd laravel new my-app cd my-app herd open ``` -------------------------------- ### Install AWS SDK for PHP Source: https://github.com/laravelsu/docs/blob/12.x/cache.md Installs the AWS SDK for PHP using Composer, which is required for Laravel applications to interact with DynamoDB. ```Shell composer require aws/aws-sdk-php ``` -------------------------------- ### Настройка глобальных параметров Guzzle Source: https://github.com/laravelsu/docs/blob/12.x/http-client.md Позволяет настроить параметры по умолчанию для каждого исходящего запроса, используя метод `globalOptions`. Обычно вызывается из метода `boot` `AppServiceProvider`. ```PHP use Illuminate\Support\Facades\Http; /** * Bootstrap any application services. */ public function boot(): void { Http::globalOptions([ 'allow_redirects' => false, ]); } ``` -------------------------------- ### Envoy Setup Block Source: https://github.com/laravelsu/docs/blob/12.x/envoy.md Uses the '@setup' directive to define a block of PHP code that executes before Envoy tasks, such as initializing variables. ```php @setup $now = new DateTime; @endsetup ``` -------------------------------- ### Настройка GitHub Actions для Laravel Pint (YAML) Source: https://github.com/laravelsu/docs/blob/12.x/pint.md Пример файла .github/workflows/lint.yml для автоматического запуска Laravel Pint при каждом push в репозиторий GitHub. Включает настройку PHP, установку Pint и выполнение команды pint. ```yaml name: Fix Code Style on: [push] jobs: lint: runs-on: ubuntu-latest strategy: fail-fast: true matrix: php: [8.4] steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: json, dom, curl, libxml, mbstring coverage: none - name: Install Pint run: composer global require laravel/pint - name: Run Pint run: pint - name: Commit linted files uses: stefanzweifel/git-auto-commit-action@v5 ``` -------------------------------- ### Настройка WorkOS Source: https://github.com/laravelsu/docs/blob/12.x/starter-kits.md Настройка переменных окружения `.env` для интеграции с WorkOS, включая `WORKOS_CLIENT_ID`, `WORKOS_API_KEY` и `WORKOS_REDIRECT_URL`. ```ini WORKOS_CLIENT_ID=your-client-id WORKOS_API_KEY=your-api-key WORKOS_REDIRECT_URL="${APP_URL}/authenticate" ``` -------------------------------- ### Настройка базы данных MySQL Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Пример конфигурации файла .env для подключения к базе данных MySQL. Необходимо указать соответствующие параметры соединения, такие как имя базы данных, хост, порт, имя пользователя и пароль. ```ini DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= ``` -------------------------------- ### Str::startsWith() - Check String Beginning Source: https://github.com/laravelsu/docs/blob/12.x/strings.md Determines if a given string starts with a specified value. It can also check against an array of possible starting values. ```php use Illuminate\Support\Str; $result = Str::startsWith('This is my name', 'This'); // true $result = Str::startsWith('This is my name', ['This', 'That', 'There']); // true ``` -------------------------------- ### Регистрация шаблонов пакета в Laravel Source: https://github.com/laravelsu/docs/blob/12.x/packages.md Регистрирует шаблоны пакета, указывая Laravel путь к ним и имя пакета. Используется в методе `boot` сервис-провайдера. ```php loadViewsFrom(__DIR__.'/../resources/views', 'courier'); } } ``` -------------------------------- ### Публикация представлений электронной почты Laravel Source: https://github.com/laravelsu/docs/blob/12.x/starter-kits.md Команда Artisan для публикации представлений электронной почты Laravel, позволяя настраивать шаблоны электронной почты по умолчанию. ```shell php artisan vendor:publish --tag=laravel-mail ``` -------------------------------- ### Install Typesense PHP SDK Source: https://github.com/laravelsu/docs/blob/12.x/scout.md Installs the Typesense PHP SDK using Composer, enabling integration with Typesense search engine in Laravel Scout. ```shell composer require typesense/typesense-php ``` -------------------------------- ### Install Algolia Search Client Source: https://github.com/laravelsu/docs/blob/12.x/scout.md Installs the official Algolia PHP SDK using Composer, which is required when using the Algolia driver for Laravel Scout. ```shell composer require algolia/algoliasearch-client-php ``` -------------------------------- ### Установка пакета с сохранением конфигурации в Ubuntu Source: https://github.com/laravelsu/docs/blob/12.x/homestead.md Команда для установки пакета в Ubuntu, которая предотвращает перезапись существующих конфигурационных файлов пакета. Используется для избежания конфликтов при обновлении или установке пакетов в среде Homestead. ```shell sudo apt-get -y \ -o Dpkg::Options::="--force-confdef" \ -o Dpkg::Options::="--force-confold" \ install package-name ``` -------------------------------- ### Группировка задач в истории Envoy Source: https://github.com/laravelsu/docs/blob/12.x/envoy.md Показывает, как использовать директиву `@story` в Envoy для группировки нескольких задач под одним именем. Пример включает определение истории 'deploy', которая запускает задачи 'update-code' и 'install-dependencies'. ```bash @servers(['web' => ['user@192.168.1.1']]) @story('deploy') update-code install-dependencies @endstory @task('update-code') cd /home/user/example.com git pull origin master @endtask @task('install-dependencies') cd /home/user/example.com composer install @endtask ``` -------------------------------- ### Shell: Install Vonage Notification Channel Source: https://github.com/laravelsu/docs/blob/12.x/notifications.md Provides the Composer command to install the necessary packages for sending SMS notifications via Vonage in Laravel. ```Shell composer require laravel/vonage-notification-channel guzzlehttp/guzzle ``` -------------------------------- ### Запуск ChromeDriver вручную в Laravel Dusk Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Пример кода для комментирования строки `static::startChromeDriver()` в `tests/DuskTestCase.php` для ручного запуска ChromeDriver. Также показано, как изменить метод `driver`, если ChromeDriver запущен на нестандартном порту. ```PHP /** * Подготовить Dusk для выполнения теста. * * @beforeClass */ public static function prepare(): void { // static::startChromeDriver(); } ``` ```PHP use Facebook\WebDriver\Remote\RemoteWebDriver; /** * Создать экземпляр RemoteWebDriver. */ protected function driver(): RemoteWebDriver { return RemoteWebDriver::create( 'http://localhost:9515', DesiredCapabilities::chrome() ); } ``` -------------------------------- ### Install MongoDB PHP Extension Source: https://github.com/laravelsu/docs/blob/12.x/mongodb.md Installs the MongoDB PHP extension using PECL. This extension is required for PHP applications to connect to MongoDB databases. ```shell pecl install mongodb ``` -------------------------------- ### Установка PHP и установщика Laravel (Windows PowerShell) Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Эта команда устанавливает PHP версии 8.4, Composer и установщик Laravel в Windows PowerShell, требуя запуска от имени администратора и установки политики выполнения. ```powershell # Запуск от имени администратора... Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4')) ``` -------------------------------- ### PHP: Ожидание Input-элементов Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Метод `waitForInput` используется для ожидания, пока указанное поле ввода не станет видимым на странице в течение заданного времени. Это полезно для форм, где поля ввода могут загружаться асинхронно. ```php // Ожидание максимум пять секунд для поля ввода... $browser->waitForInput($field); // Ожидание максимум одну секунду для поля ввода... $browser->waitForInput($field, 1); ``` -------------------------------- ### Start Sail Containers Source: https://github.com/laravelsu/docs/blob/12.x/sail.md Starts all Docker containers defined in the application's `docker-compose.yml` file. This command brings up the development environment for the Laravel application. ```shell ./vendor/bin/sail up ``` -------------------------------- ### Добавление компонента shadcn/ui в React Source: https://github.com/laravelsu/docs/blob/12.x/starter-kits.md Команда для публикации компонента shadcn/ui в вашем React-приложении. Компонент будет добавлен в каталог `resources/js/components/ui/`. ```shell npx shadcn@latest add switch ``` -------------------------------- ### Отображение прогресс-бара с обратным вызовом Source: https://github.com/laravelsu/docs/blob/12.x/prompts.md Использует функцию `progress` для отображения полосы прогресса во время выполнения задачи. Функция `progress` действует как map, возвращая результаты каждой итерации. ```php use function Laravel\Prompts\progress; $users = progress( label: 'Обновление пользователей', steps: User::all(), callback: fn ($user) => $this->performTask($user) ); ``` -------------------------------- ### Install Laravel Cashier Paddle Source: https://github.com/laravelsu/docs/blob/12.x/cashier-paddle.md Installs the Cashier Paddle package using Composer. This is the first step to integrate Paddle billing into your Laravel application. ```shell composer require laravel/cashier-paddle ``` -------------------------------- ### Включение локальных временных URL-адресов в Laravel Source: https://github.com/laravelsu/docs/blob/12.x/filesystem.md Для включения поддержки временных URL-адресов в локальном драйвере Laravel необходимо добавить опцию 'serve' со значением 'true' в конфигурацию диска 'local' в файле config/filesystems.php. ```PHP return [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app/private'), 'serve' => true, // [tl! add] 'throw' => false, ], ]; ``` -------------------------------- ### Check if String Doesn't Start With Value (PHP) Source: https://github.com/laravelsu/docs/blob/12.x/strings.md The doesntStartWith method determines if a given string does not start with a specified value. It can also accept an array of values to check against. ```php use Illuminate\Support\Str; $result = Str::of('This is my name')->doesntStartWith('That'); // true ``` ```php use Illuminate\Support\Str; $result = Str::of('This is my name')->doesntStartWith(['What', 'That', 'There']); // true ``` -------------------------------- ### Настройка резервного поведения Laravel Prompts Source: https://github.com/laravelsu/docs/blob/12.x/prompts.md Позволяет настроить поведение резервного варианта для классов Laravel Prompts, передавая замыкание методу `fallbackUsing`. Замыкание получает экземпляр класса prompt и должно возвращать соответствующий тип. ```PHP use Laravel\Prompts\TextPrompt; use Symfony\Component\Console\Question\Question; use Symfony\Component\Console\Style\SymfonyStyle; TextPrompt::fallbackUsing(function (TextPrompt $prompt) use ($input, $output) { $question = (new Question($prompt->label, $prompt->default ?: null)) ->setValidator(function ($answer) use ($prompt) { if ($prompt->required && $answer === null) { throw new \RuntimeException( is_string($prompt->required) ? $prompt->required : 'Required.' ); } if ($prompt->validate) { $error = ($prompt->validate)($answer ?? ''); if ($error) { throw new \RuntimeException($error); } } return $answer; }); return (new SymfonyStyle($input, $output)) ->askQuestion($question); }); ``` -------------------------------- ### Check if String Does Not Start With Value using doesntStartWith Source: https://github.com/laravelsu/docs/blob/12.x/strings.md The doesntStartWith method determines if the given string does not start with the specified value. It can also accept an array of values to check against. ```php use Illuminate\\support\\Str;\n\n$result = Str::of('This is my name')->doesntStartWith('dog');\n\n// true ``` ```php use Illuminate\\support\\Str;\n\n$result = Str::of('This is my name')->doesntStartWith(['this', 'foo']);\n\n// true ``` ```php use Illuminate\\support\\Str;\n\n$result = Str::of('This is my name')->doesntStartWith(['This', 'foo']);\n\n// false ``` -------------------------------- ### Регистрация компоновщика шаблонов в методе `boot` Source: https://github.com/laravelsu/docs/blob/12.x/providers.md Этот пример демонстрирует, как зарегистрировать компоновщик шаблонов в методе `boot` сервис-провайдера. Метод `boot` вызывается после регистрации всех остальных сервис-провайдеров, что позволяет получить доступ ко всем зарегистрированным службам. ```php {{ $slot }} ``` -------------------------------- ### Установка Laravel Installer на macOS Source: https://github.com/laravelsu/docs/blob/12.x/upgrade.md Команда для установки или обновления Laravel Installer на macOS с использованием PHP 8.4. ```bash /bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)" ``` -------------------------------- ### Ожидание событий на объектах document и window Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Метод waitForEvent позволяет ожидать события на объектах 'document' и 'window', а также устанавливать максимальное время ожидания. ```php // Ожидание, пока документ не будет прокручен... $browser->waitForEvent('scroll', 'document'); // Ожидание максимум пять секунд, пока окно не изменит размер... $browser->waitForEvent('resize', 'window', 5); ``` -------------------------------- ### Install Laravel Sail Source: https://github.com/laravelsu/docs/blob/12.x/sail.md Installs Laravel Sail as a development dependency into an existing Laravel application using Composer. This is the first step to integrating Sail into a project that doesn't have it by default. ```shell composer require laravel/sail --dev ``` -------------------------------- ### Создание стартового набора Laravel Source: https://github.com/laravelsu/docs/blob/12.x/starter-kits.md Команда для создания нового приложения Laravel с использованием стартового набора, поддерживаемого сообществом, с указанием его из Packagist. ```shell laravel new my-app --using=example/starter-kit ``` -------------------------------- ### Install Laravel MongoDB Package Source: https://github.com/laravelsu/docs/blob/12.x/mongodb.md Installs the official MongoDB package for Laravel using Composer. This package provides enhanced integration with Laravel's features, including Eloquent. ```shell composer require mongodb/laravel-mongodb ``` -------------------------------- ### Команда Artisan для очистки кэша Laravel Source: https://github.com/laravelsu/docs/blob/12.x/deployment.md Команда Artisan для удаления всех кэшированных файлов, созданных командой optimize, а также ключей кэша. Полезна для сброса кэша после изменений. ```shell php artisan optimize:clear ``` -------------------------------- ### Управление версиями PHP и инструментами в Valet Source: https://github.com/laravelsu/docs/blob/12.x/valet.md Предоставляет команды для взаимодействия с настроенной версией PHP сайта. Команды `valet php`, `valet composer` и `valet which-php` перенаправляют вызовы к соответствующему интерпретатору PHP CLI или инструменту. ```shell valet php ``` ```shell valet composer ``` ```shell valet which-php ``` -------------------------------- ### PHP: Ожидание перезагрузки страницы Source: https://github.com/laravelsu/docs/blob/12.x/dusk.md Метод `waitForReload` ожидает завершения перезагрузки страницы после выполнения действия. Метод `clickAndWaitForReload` объединяет клик по элементу и ожидание перезагрузки. ```php use Laravel\Dusk\Browser; $browser->waitForReload(function (Browser $browser) { $browser->press('Submit'); }) ->assertSee('Success!'); ``` ```php $browser->clickAndWaitForReload('.selector') ->assertSee('something'); ``` -------------------------------- ### Install MailerSend Laravel Driver (Composer) Source: https://github.com/laravelsu/docs/blob/12.x/mail.md Installs the official MailerSend driver for Laravel using Composer. This package enables the use of MailerSend for transactional emails and SMS messages. ```shell composer require mailersend/laravel-driver ``` -------------------------------- ### Настройка маршрута проверки работоспособности Laravel Source: https://github.com/laravelsu/docs/blob/12.x/deployment.md Позволяет настроить URI для маршрута проверки работоспособности приложения. По умолчанию `/up`, может быть изменен на `/status` или другой путь. ```php ->withRouting( web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/status' ) ``` -------------------------------- ### DynamoDB Batch Configuration Example Source: https://github.com/laravelsu/docs/blob/12.x/queues.md Example configuration for storing queue batches in DynamoDB. Ensure the `job_batches` table exists in DynamoDB with appropriate primary keys (`application` and `id`). ```php 'batching' => [ 'driver' => env('QUEUE_BATCHING_DRIVER', 'dynamodb'), 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 'table' => 'job_batches', ], ``` -------------------------------- ### PHP Collection get() - Retrieve item by key with default Source: https://github.com/laravelsu/docs/blob/12.x/collections.md The get method retrieves an item from the collection by its key. If the key does not exist, it returns null or a specified default value. A closure can also be provided as a default. ```PHP $collection = collect(['name' => 'Taylor', 'framework' => 'Laravel']); $value = $collection->get('name'); // Taylor $value = $collection->get('age', 34); // 34 $collection->get('email', function () { return 'taylor@example.com'; }); // taylor@example.com ``` -------------------------------- ### Конфигурация Nginx для Laravel Source: https://github.com/laravelsu/docs/blob/12.x/deployment.md Пример конфигурационного файла Nginx для обслуживания приложений Laravel. Он направляет все запросы в файл public/index.php и включает настройки безопасности, такие как заголовки X-Frame-Options и X-Content-Type-Options. ```nginx server { listen 80; listen [::]:80; server_name example.com; root /srv/example.com/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ ^/index\.php(/|$) { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; fastcgi_hide_header X-Powered-By; } location ~ /\.(?!well-known).* { deny all; } } ``` -------------------------------- ### Установка PHP и установщика Laravel (macOS) Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Эта команда устанавливает PHP версии 8.4, Composer и установщик Laravel в macOS с использованием скрипта bash. ```shell /bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)" ``` -------------------------------- ### Использование индикатора выполнения (spin) в Laravel Prompts Source: https://github.com/laravelsu/docs/blob/12.x/prompts.md Функция `spin` отображает анимированный индикатор выполнения во время выполнения указанного обратного вызова. Она используется для визуального обозначения длительных процессов и возвращает результат выполнения обратного вызова. ```php use function Laravel\Prompts\spin; $response = spin( callback: fn () => Http::get('http://example.com'), message: 'Получение ответа...' ); ``` -------------------------------- ### Install AWS SDK for PHP (Composer) Source: https://github.com/laravelsu/docs/blob/12.x/mail.md Installs the Amazon AWS SDK for PHP, a prerequisite for using the Amazon SES driver in Laravel. This command uses Composer, the dependency manager for PHP. ```shell composer require aws/aws-sdk-php ``` -------------------------------- ### Обновление Laravel Installer через Composer Source: https://github.com/laravelsu/docs/blob/12.x/upgrade.md Команда для обновления Laravel Installer до версии, совместимой с Laravel 12.x, если он был установлен глобально через Composer. ```bash composer global update laravel/installer ``` -------------------------------- ### Установка Laravel Installer на Windows Source: https://github.com/laravelsu/docs/blob/12.x/upgrade.md Команда PowerShell для установки или обновления Laravel Installer на Windows с использованием PHP 8.4, включая настройку политики выполнения и протокола безопасности. ```powershell Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4')) ``` -------------------------------- ### Установка Laravel Boost Source: https://github.com/laravelsu/docs/blob/12.x/installation.md Команды для установки Laravel Boost как зависимости для разработки и запуска интерактивного установщика. ```shell composer require laravel/boost --dev ``` ```shell php artisan boost:install ``` -------------------------------- ### Связывание отдельного сайта Source: https://github.com/laravelsu/docs/blob/12.x/valet.md Команда `link` для обслуживания конкретного приложения Laravel в каталоге, делая его доступным через `.test` домен. ```shell cd ~/Sites/laravel valet link ``` -------------------------------- ### Update Homebrew Source: https://github.com/laravelsu/docs/blob/12.x/valet.md Ensures that Homebrew is up-to-date before installing PHP and other dependencies. ```shell brew update ``` -------------------------------- ### Str::wordCount() - Get Word Count of String Source: https://github.com/laravelsu/docs/blob/12.x/strings.md Returns the number of words in a string. ```php use Illuminate\Support\Str; Str::wordCount('Hello, world!'); // 2 ```