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

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

Купить рекламу: https://telega.in/c/web_craft
Download Telegram
Предотвращение одновременного выполнения задач с помощью в Laravel

Метод withoutOverlapping в Laravel Scheduler предотвращает одновременное выполнение запланированных задач, гарантируя, что одна и та же задача не запустится несколько раз до завершения предыдущего выполнения. Это полезно для задач, которые могут вызвать конфликты или проблемы при параллельном выполнении.

Пример использования:
$schedule->command('emails:send')
->withoutOverlapping()
->everyMinute();

В этом примере команда emails:send будет запускаться каждую минуту, но не начнется снова, пока не завершится предыдущее выполнение. Это помогает избежать конфликтов и перегрузок при выполнении задач, особенно когда задачи занимают значительное время или ресурсы.

👉 @web_craft | #laravel
Сигналы в Artisan командах

Статья о сигналах в командах Artisan. В Laravel команды Artisan - это способ запуска PHP-скриптов через командную строку. Сигналы - это события, на которые процесс может слушать и реагировать. Команды Artisan могут использовать сигналы для прерывания длительных процессов. Это может быть полезно для таких задач, как остановка процесса, когда пользователь нажимает Ctrl+C.

👉 @web_craft | #laravel
Работа хука eloquent.retrieved

Какой метод используется для прослушивания события eloquent.retrieved?

Забыли? Вернитесь к посту от 22.07.2024.

👉 @web_craft | #laravel
Преобразование данных перед сохранением в Laravel

Хук eloquent.adding в Laravel используется для выполнения определенных действий перед добавлением новой записи в базу данных. Это позволяет модифицировать данные модели перед их сохранением.

Как это работает:

1. В методе boot модели используется метод Event::listen для прослушивания события eloquent.adding.
2. Анонимная функция принимает экземпляр модели и выполняет необходимые изменения с её данными.

Рассмотрим пример использования хука eloquent.adding для автоматического преобразования имени пользователя в верхний регистр перед добавлением записи в базу данных:

use App\Models\User;
use Illuminate\Support\Facades\Event;

class User extends Model
{
protected static function boot()
{
parent::boot();

Event::listen('eloquent.adding: App\Models\User', function (User $user) {
$user->name = strtoupper($user->name);
});
}
}


👉 @web_craft | #laravel
Среда Blade для сложных условий в шаблонах

Директива @switch в Blade предоставляет способ обработки сложных условий в шаблонах Laravel. Она используется для проверки одного выражения на несколько возможных значений и выполнения соответствующих блоков кода.

Пример использования директивы @switch для обработки различных статусов заказа:
@switch($order->status)
@case('pending')
<p>Ваш заказ ожидает обработки.</p>
@break

@case('processing')
<p>Ваш заказ в процессе обработки.</p>
@break

@case('completed')
<p>Ваш заказ выполнен!</p>
@break

@default
<p>Неизвестный статус заказа.</p>
@endswitch

В этом примере, в зависимости от статуса заказа (pending, processing, completed), будет выводиться соответствующее сообщение. Если статус не соответствует ни одному из указанных значений, будет выведено сообщение по умолчанию.

👉 @web_craft | #laravel
Кастомные Query Builders в Laravel

Статья посвящена созданию кастомных Query Builders в Laravel. Она объясняет, как создать собственные классы билдера запросов для упрощения и улучшения читаемости кода моделей. Приводятся примеры создания кастомного билдера для модели Book, его интеграции в модель и использования в контроллерах.

👉 @web_craft | #laravel
Метод для предотвращения одновременного выполнения задач

Какой метод используется в Laravel Scheduler для предотвращения одновременного выполнения задач?

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

👉 @web_craft | #laravel
Условный доступ к связям Eloquent

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

Например, если вам нужно проверить или использовать загруженную связь, whenLoaded позволяет сделать это условно, без риска получить ошибку. Метод принимает два параметра: имя связи и callback-функцию, которая выполнится, если связь загружена.
$user = User::with('profile')->find(1);

$user->whenLoaded('profile', function ($profile) {
// Код, который выполнится только если связь profile загружена
return $profile->full_name;
});

В этом примере, если связь profile загружена, будет вызвана callback-функция, которая возвращает полное имя пользователя. Если связь не загружена, код внутри callback не выполнится, что предотвращает возможные ошибки.

👉 @web_craft | #laravel
Typesense: невероятно быстрый полнотекстовый поиск в Laravel

Статья рассказывает о том, как повысить производительность полнотекстового поиска в приложениях Laravel, перейдя с MySQL на Typesense.

👉 @web_craft | #laravel
Использование хука eloquent.adding в Laravel

В каком методе модели определяется использование хука eloquent.adding?

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

👉 @web_craft | #laravel