WebCraft - ремесло веб разработки
6.5K subscribers
1.63K photos
243 videos
2 files
206 links
Интересуешься php , js , css , html , Laravel , Vue ? Этот канал для тебя

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Менеджер по рекламе: @Spiral_Yuri

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Функция анонимных миграций

Что такое анонимные миграции в Laravel?

Если забыли, то вернитесь к посту от 27.05.2024.

👉 @web_craft | #laravel
Валидация в 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
Использование User-Agent в 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
Команды Composer в 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
Упрощение добавления нескольких полей в таблицу

Если вам нужно добавить несколько полей в базу данных после определенного поля, сгруппируйте их в одном колбэке, используя метод $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
Использование хука eloquent.retrieved в 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