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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Как реализовать множественную аутентификацию в Laravel

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

👉 @web_craft | #laravel
Отправка токена CSRF

Какие данные отправляются на сервер вместе с токеном CSRF при отправке формы?

Функционал CSRF в Laravel разбирали в посте от 22.04.2024.

👉 @web_craft | #laravel
Гайд по мягкому удалению в Laravel

В статье объясняется, как использовать функционал мягкого удаления для управления записями базы данных без их физического удаления. С помощью мягкого удаления, записи остаются в базе данных, но помечаются как удалённые, что позволяет восстанавливать данные при необходимости. Автор статьи рассматривает, как настроить мягкое удаление, использовать его в различных сценариях и как это влияет на запросы к базе данных в Laravel.

👉 @web_craft | #laravel
Улучшите свои запросы в Laravel Eloquent с помощью Tappable Scopes

Статья рассказывает о том, как использовать "tappable scopes" в Laravel для улучшения запросов Eloquent. Этот метод позволяет создавать более чистый и удобочитаемый код при работе с Eloquent-запросами, особенно при создании сложных фильтров и условий. Автор приводит примеры создания и использования таких "tappable scopes" для различных ситуаций, например, для фильтрации постов по дате публикации или выборки записей по ID пользователя.

👉 @web_craft | #laravel
Функция для JSON-ответов Laravel?

Какую функцию Laravel использует для создания JSON-ответов?

Забыли? Вернитесь к посту от 06.05.2024, в котором разбирали этот функционал.

👉 @web_craft | #laravel
Анонимные миграции в Laravel

Анонимные миграции – это функция Laravel, позволяющая создавать миграции без классов. Это упрощает управление миграциями и делает структуру проекта чище.

Как это работает:
Вы определяете миграции в PHP файлах с использованием методов up() и down(), которые Laravel автоматически обрабатывает, не требуя от вас создания классов миграции.

Пример использования:
// Создание миграции для таблицы пользователей
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

// Метод up для создания таблицы
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});

// Метод down для удаления таблицы
Schema::dropIfExists('users');


👉 @web_craft | #laravel
Преобразование запросов и ответов API в Laravel 11

В статье рассматривается проблема различия в соглашениях об именовании в PHP (snake_case) и JavaScript (camelCase). Это может вызвать проблемы при работе с Next.js на фронтенде и Laravel на бэкенде в качестве традиционного REST API2.

Автор предлагает решение этой проблемы с помощью Laravel resources.

👉 @web_craft | #laravel
Функция анонимных миграций

Что такое анонимные миграции в 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