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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Защита атрибута password в Laravel

Как правильно использовать guarded для защиты атрибута password?

👉 @web_craft | #laravel
Практическое руководство по более чистым контроллерам Laravel: использование возможностей средств доступа и мутаторов

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

👉 @web_craft | #laravel
Освоение маршрутов Laravel: комплексное руководство для всех уровней

Руководство по использованию маршрутизации в Laravel, в котором рассказывается о следующих темах: Основы маршрутизации, расширенная маршрутизация, тестирование маршрутов и практические советы.

👉 @web_craft | #laravel
Назначение аннотации ObservedBy в классе модели Flight

Что делает аннотация ObservedBy в классе модели Flight?

👉 @web_craft | #laravel
Группировка middleware в Laravel

Группировка middleware в Laravel - это способ организации по определенным критериям или целям. Например, вы можете создать группу middleware для аутентификации, авторизации, кэширования, логирования и т.д. Это позволяет упростить регистрацию и назначение middleware для роутов, а также повысить читаемость и поддерживаемость кода.

Для применения группы middleware к роутам вы можете использовать метод middleware() в routes/web.php. В этом методе вы указываете имя группы в качестве параметра.

Например:
Route::middleware('auth')->group(function () {
Route::get('/profile', 'ProfileController@show');
Route::get('/settings', 'SettingsController@show');
});

Route::middleware('admin')->group(function () {
Route::get('/users', 'UserController@index');
Route::get('/roles', 'RoleController@index');
});


👉 @web_craft | #laravel
Как выполнять команды Laravel Artisan с использованием эндпоинтов

У вас есть приложение Laravel, и вам нужно автоматизировать некоторые задачи. Вы можете использовать команды Artisan, но как их выполнить, если вам нужен доступ к ним извне приложения?

Ответ: через API!

В этой статье мы разберемся, как выполнять команды Artisan через API, узнаем, почему это может быть полезно, а также посмотрим два варианта: Использование пакета laravel-artisan-cli и создание собственного контроллера API.

👉 @web_craft | #laravel
Как создать новую модель без записи предыдущей?

Какую функцию следует использовать, если вы хотите создать новую модель, но не хотите перезаписывать существующую модель с тем же ID?

👉 @web_craft | #laravel
Retry-механизмы в Laravel

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

👉 @web_craft | #laravel
Добавление пользовательских методов в Laravel

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


Примеры:
Collection::macro('toUpper', function () {
return $this->map(function ($item) {
return strtoupper($item);
});
});

$collection = collect(['hello', 'world']);
$upper = $collection->toUpper();

// ['HELLO', 'WORLD']


В данном примере мы добавили метод toUpper(), который преобразует все элементы коллекции в верхний регистр.


Collection::macro('filterEven', function () {
return $this->filter(function ($item) {
return $item % 2 === 0;
});
});

$collection = collect([1, 2, 3, 4, 5]);
$even = $collection->filterEven();

// [2, 4]


В этом примере мы добавили метод filterEven(), который фильтрует коллекцию, оставляя только четные числа.


👉 @web_craft | #laravel
Назначение группировки middleware в Laravel

Для чего используется группировка middleware в Laravel?

👉 @web_craft | #laravel
Контекстные данные для журналов Laravel

Log::withContext() - это метод в Laravel 11, который позволяет добавлять контекстные данные к журнальным записям. Вы можете использовать его для обогащения журнала информацией, связанной с текущим запросом или задачей в очереди. Например:

Log::withContext(['user_id' => $user->id])->info('User logged in');

В этом примере мы добавляем user_id в контекст журнала для записи о входе пользователя. Это полезно для отладки, мониторинга или аудита ваших приложений.

👉 @web_craft | #laravel
Защита от CSRF в Laravel

@csrf - это директива Blade, используемая в Laravel для защиты веб-приложений от атак с межсайтовой подделкой запросов (CSRF).

Как работает @csrf:

1. Генерация токена CSRF: Когда пользователь запрашивает страницу, содержащую форму, Laravel автоматически генерирует уникальный токен CSRF и сохраняет его в сессии пользователя. Этот токен также добавляется в качестве скрытого поля формы.

2. Отправка токена: Когда пользователь отправляет форму, браузер отправляет токен CSRF вместе с другими данными формы на сервер.

3. Валидация токена: Laravel проверяет, совпадает ли токен CSRF, отправленный с формой, с токеном, хранящимся в сессии пользователя.


Использование @csrf:

Просто добавьте @csrf внутрь тега формы в вашем Blade-шаблоне. Laravel автоматически позаботится о генерации и добавлении скрытого поля токена CSRF.

<form method="POST" action="/submit-form">
@csrf
<button type="submit">Отправить</button>
</form>


👉 @web_craft | #laravel
Превращение событий PostgreSQL в события Laravel

В статье рассказывается, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.

👉 @web_craft | #laravel
Назначение Collection::macro

Что такое Collection::macro?

👉 @web_craft | #laravel
Понимание Laravel Sanctum

Статья рассматривает Laravel Sanctum – библиотеку для аутентификации и авторизации в Laravel.

👉 @web_craft | #laravel
Работа метода Log::withContext()

Что делает метод Log::withContext()?

Сомневаетесь? Рассматривали этот функционал в посте 15.04.2024.

👉 @web_craft | #laravel
Создание и управление JSON-ответами

Response()->json() — это метод в Laravel, который упрощает процесс создания JSON-ответов,устанавливая заголовок Content-Type как application/json. Это гарантирует правильное распознавание данных клиентскими приложениями.

Пример API, возвращающего информацию о пользователе:
use Illuminate\Http\Request;
use App\Models\User;

public function getUser(Request $request, $id) {
$user = User::find($id);
if ($user) {
return response()->json([
'success' => true,
'message' => 'Пользователь найден',
'data' => $user
]);
} else {
return response()->json([
'success' => false,
'message' => 'Пользователь не найден',
'data' => null
], 404);
}
}


Find($id) ищет пользователя по ID. Если найден, возвращается JSON с данными и статусом 200. Если нет — JSON с ошибкой и статусом 404. Этот подход характерен для RESTful API.

👉 @web_craft | #laravel
Как реализовать множественную аутентификацию в Laravel

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

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

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

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

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

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

👉 @web_craft | #laravel