Функция анонимных миграций
Что такое анонимные миграции в Laravel?
Если забыли, то вернитесь к посту от27.05.2024 .
👉 @web_craft | #laravel
Что такое анонимные миграции в Laravel?
Если забыли, то вернитесь к посту от
👉 @web_craft | #laravel
Валидация в Laravel
Метод
Применение:
В данном примере определяется правило
После определения пользовательского правила, его можно использовать в валидаторе данных наряду со встроенными правилами:
👉 @web_craft | #laravel
Метод
Validator::extend()
предоставляет возможность создавать собственные правила валидации, выходя за рамки стандартного набора, предоставляемого Laravel.Применение:
Validator::extend('older_than', function ($attribute, $value, $parameters) {
$minAge = $parameters[0] ?? 18;
return Carbon::parse($value)->age >= $minAge;
});
В данном примере определяется правило
older_than
, которое проверяет, является ли указанная дата ($value
) датой рождения человека, достигшего возраста не менее $minAge
лет.После определения пользовательского правила, его можно использовать в валидаторе данных наряду со встроенными правилами:
$validator = Validator::make($data, [
'birthdate' => 'required|date|older_than:21',
]);
👉 @web_craft | #laravel
Как поднять уровень анализа вашего Laravel-приложения с 0 до 9 в Larastan
В статье рассказывается, что такое Larastan и какие преимущества дает его использование. Также подробно описывается, как настроить Larastan, и показано, как поэтапно повышать уровень анализа с 0 до 9. На каждом уровне в статье рассказывается, какие типы ошибок будет находить Larastan.
👉 @web_craft | #laravel
В статье рассказывается, что такое Larastan и какие преимущества дает его использование. Также подробно описывается, как настроить Larastan, и показано, как поэтапно повышать уровень анализа с 0 до 9. На каждом уровне в статье рассказывается, какие типы ошибок будет находить Larastan.
👉 @web_craft | #laravel
Использование User-Agent в Laravel
При использовании сторонних API вы можете задавать свой собственный User-Agent. Если возникнет проблема, владелец API сможет связаться с вами, а не просто заблокирует доступ.
Пример:
Конфигурация:
В этом примере задается пользовательский User-Agent для всех HTTP-запросов, осуществляемых через фасад Http. Это позволяет идентифицировать ваше приложение при взаимодействии с внешними API и дает возможность владельцам API связаться с вами при необходимости.
👉 @web_craft | #laravel
При использовании сторонних API вы можете задавать свой собственный User-Agent. Если возникнет проблема, владелец API сможет связаться с вами, а не просто заблокирует доступ.
Пример:
namespace App\Providers;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
Http::globalOptions([
'headers' => [
'User-Agent' => config('app.user_agent'),
],
]);
}
}
Конфигурация:
// config/app.php
[
'user_agent' => 'X / 1.0 – https://x.com | elon@x.com',
];
В этом примере задается пользовательский User-Agent для всех HTTP-запросов, осуществляемых через фасад Http. Это позволяет идентифицировать ваше приложение при взаимодействии с внешними API и дает возможность владельцам API связаться с вами при необходимости.
👉 @web_craft | #laravel
Метод валидации в Laravel
Какой метод в Laravel используется для создания собственных правил валидации?
Забыли? Вернитесь к посту от17.06.2024 .
👉 @web_craft | #laravel
Какой метод в Laravel используется для создания собственных правил валидации?
Забыли? Вернитесь к посту от
👉 @web_craft | #laravel
Команды Composer в Laravel
В Laravel существует несколько команд Composer для управления зависимостями и проверки совместимости:
— Удаление пакета: команда
— Проверка соответствия платформы: команда
— Создание архива пакета: команда
— Автозагрузка классов: команда
— Проверка устаревших пакетов: команда
👉 @web_craft | #laravel
В Laravel существует несколько команд Composer для управления зависимостями и проверки совместимости:
— Удаление пакета: команда
composer remove vendor/package
удаляет ненужный пакет и его зависимости.— Проверка соответствия платформы: команда
composer check-platform-reqs
проверяет, соответствуют ли текущая версия PHP и установленные расширения требованиям проекта, что предотвращает потенциальные проблемы совместимости.— Создание архива пакета: команда
composer archive
создает архив вашего пакета, что удобно для распространения и развертывания.— Автозагрузка классов: команда
composer dump-autoload
перегенерирует файлы автозагрузки после изменения зависимостей, обеспечивая корректную работу автозагрузки классов.— Проверка устаревших пакетов: команда
composer outdated
проверяет зависимости проекта на предмет устаревших версий, что помогает поддерживать проект в актуальном состоянии.👉 @web_craft | #laravel
Архитектурное тестирование в Laravel с помощью Pest
Статья объясняет, как с помощью Pest проводить архитектурное тестирование в Laravel. В ней рассматриваются важность таких тестов для соблюдения архитектурных правил, установка и настройка Pest, написание примеров тестов для проверки структуры кода, а также выполнение и интерпретация этих тестов.
👉 @web_craft | #laravel
Статья объясняет, как с помощью Pest проводить архитектурное тестирование в Laravel. В ней рассматриваются важность таких тестов для соблюдения архитектурных правил, установка и настройка Pest, написание примеров тестов для проверки структуры кода, а также выполнение и интерпретация этих тестов.
👉 @web_craft | #laravel
Упрощение добавления нескольких полей в таблицу
Если вам нужно добавить несколько полей в базу данных после определенного поля, сгруппируйте их в одном колбэке, используя метод
Пример:
Этот способ позволяет сразу указать все новые поля, которые должны быть добавлены после уже существующего, избегая многократного использования метода
👉 @web_craft | #laravel
Если вам нужно добавить несколько полей в базу данных после определенного поля, сгруппируйте их в одном колбэке, используя метод
$table->after()
. Это обеспечивает более чистый и логичный код.Пример:
// Вместо этого:
Schema::table('users', function (Blueprint $table) {
$table->string('phone')->nullable()->after('password');
$table->string('github')->nullable()->after('phone');
$table->string('twitter')->nullable()->after('github');
});
// Вы можете сделать это:
Schema::table('users', function (Blueprint $table) {
$table->after('password', function (Blueprint $table) {
$table->string('phone')->nullable();
$table->string('github')->nullable();
$table->string('twitter')->nullable();
});
});
Этот способ позволяет сразу указать все новые поля, которые должны быть добавлены после уже существующего, избегая многократного использования метода
after()
.👉 @web_craft | #laravel
Использование User-Agent
Для чего задается собственный User-Agent при использовании сторонних API?
Забыли? Вернитесь к посту от01.07.2024 .
👉 @web_craft | #laravel
Для чего задается собственный User-Agent при использовании сторонних API?
Забыли? Вернитесь к посту от
👉 @web_craft | #laravel
Использование хука eloquent.retrieved в Laravel
Хук
Как это работает:
1. Метод
2. Анонимная функция, которая принимает экземпляр модели
Это позволяет выполнять любые действия с данными модели сразу после их извлечения.
Рассмотрим пример использования хука
В этом примере, каждый раз при извлечении модели
👉 @web_craft | #laravel
Хук
eloquent.retrieved
в Laravel используется для выполнения определенных действий сразу после извлечения модели из базы данных. Как это работает:
1. Метод
Event::listen
используется для прослушивания события eloquent.retrieved
для модели User.2. Анонимная функция, которая принимает экземпляр модели
User
и выполняет необходимые действия с её данными.Это позволяет выполнять любые действия с данными модели сразу после их извлечения.
Рассмотрим пример использования хука
eloquent.retrieved
для автоматического форматирования поля created_at
после извлечения модели User
:use App\Models\User;
use Illuminate\Support\Facades\Event;
Event::listen('eloquent.retrieved: App\Models\User', function (User $user) {
$user->created_at = $user->created_at->format('d-m-Y H:i:s');
});
В этом примере, каждый раз при извлечении модели
User
, поле created_at
будет автоматически форматироваться в формат день-месяц-год часы:минуты:секунды.👉 @web_craft | #laravel