Заметки разработчика
473 subscribers
667 photos
4 videos
1.16K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
💡 Совет по Laravel: Постоянное удаление soft deleted моделей

Иногда требуется удалить soft deleted модели навсегда. Для этого можно использовать forceDelete() или новый метод forceDestroy(), появившийся в Laravel v11.21 🚀.

📱 @dev_notes_ru

#laravel #tips #eloquent #SoftDelete
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Что нового в Pest 3 и как его обновить

Повысьте уровень тестирования PHP с помощью Pest 3. Архитектурные тесты с пресетами, мутации и управление списками задач.

Pest, мой любимый фреймворк для PHP тестирования, только что выпустил третью версию, и мне не терпелось погрузиться в неё и поделиться с вами своими мыслями.

🖥 Читать статью

📱 @dev_notes_ru

#backend #pest #php #laravel #testing
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
💡 Совет по Laravel: Отключите события модели при засеве базы данных

В большинстве случаев при засеве базы данных не нужно вызывать события модели. Можно использовать трейт WithoutModelEvents, чтобы отключить эти события, что сделает ваши seeder'ы немного быстрее 🚀.

📱 @dev_notes_ru

#laravel #database #seeding #seeder
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💡 Совет по Laravel

Можно создавать кастомные диски во время выполнения программы без необходимости держать конфигурацию в файле config/filesystems.

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

📱 @dev_notes_ru

#laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#backend #pest #php #laravel #testing

👩‍💻 Пресеты архитектурного тестирования в Pest 3

Узнайте, как Pest 3 упрощает архитектурное тестирование с помощью пресетов, позволяя без труда внедрять лучшие практики и поддерживать качество кода в проектах.

Пресеты архитектурного тестирования в Pest 3 — это предварительно настроенные наборы правил, помогающие обеспечить соблюдение лучших практик и структурной целостности кодовой базы. Они похожи на бдительного ревизора кода, встроенного прямо в набор тестов. Но это происходит мгновенно и занимает всего несколько секунд!

Pest 3 поставляется с несколькими пресетами в комплекте:

Laravel
PHP
Relaxed
Security
Strict

Давайте разберёмся, что каждый из этих пресетов предлагает.

🖥 Читать статью

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#laravel #schedule #php #tips

Используя класс Schedule в Laravel, можно планировать выполнение команд через определенные промежутки времени, например, ежедневно, ежечасно и т. д.

Но иногда перед выполнением команды может потребоваться проверка дополнительных условий на истинность.

Например, выполнять команду Process Order ежечасно, только когда есть отложенные заказы для обработки.

Не волнуйтесь - можно использовать метод when() в цепочке при составлении расписания для выполнения условной проверки.

Метод when() принимает в качестве параметра функцию обратного вызова, и команда будет запланирована, когда функция обратного вызова вернет истинное значение.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#laravel #tips

💡Совет по Laravel: Получение только удаленных записей

При работе с soft deleted моделями может понадобиться получить только удаленные записи. Хотя можно вручную отфильтровать запрос по столбцу deleted_at, есть метод onlyTrashed(), который позволяет сделать именно это 🚀.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#backend #laravel #php

👩‍💻 Валидация (безопасных) URL-адресов

Валидатор Laravel — важный элемент, предотвращающий проникновение в приложения неожиданных и вредоносных данных. Он включает длинный список встроенных правил валидации, предназначенных для большинства распространённых сценариев, с возможностью настройки правил для уточнения необходимой проверки.

Сегодня рассмотрим валидатор url, проверяющий, содержат ли поля ввода корректные URL-адреса, и позволяющий определить допустимые протоколы для указанных URL-адресов.

🖥 Читать статью

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#laravel #eloquent #tips

💡 Совет по Laravel: Используйте модели по умолчанию

При работе с отношениями hasOne или belongsTo часто приходится проверять, являются ли они nullable, прежде чем обращаться к их свойствам. В таких случаях можно использовать модели по умолчанию и быть уверенным, что никогда не получим null значения 🚀.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#laravel #tips #sanctum

Laravel Sanctum позволяет легко аутентифицировать пользователей в приложениях с помощью токенов доступа.

Но заметили ли вы, что Sanctum поддерживает атрибут last_used_at в модели PersonalAccessToken?

Sanctum обновляет этот столбец временной меткой каждый раз, когда аутентифицированный пользователь делает новый запрос.

Это может быть удобно в сценариях, когда необходимо отобразить определенные показатели на основе активности пользователя в dashboard.

Вот как можно получить доступ к временной метке последней активности пользователя для всех его токенов

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#backend #laravel #php

👩‍💻 Оптимизация производительности Laravel с утилитой Benchmark

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

🖥 Читать статью

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#laravel #tips

🤔 Иногда требуется запретить сохранение или обновление при определенном условии или запретить некоторым пользователям обновлять записи.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#laravel #tips

💡 Совет по Laravel: Фильтр ложных значений

Все использовали метод filter для коллекций. Но знаете ли вы, что если не передать обратный вызов, то он отфильтрует все ложные значения? 🚀

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31👌1
#backend #laravel #php

👩‍💻 Как создавать фасады в Laravel

Если фасады в Laravel сбивают с толку, присоединяйтесь и узнайте, как определить сервис, стоящий за любым фасадом, встречающимся во фреймворке.

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

🖥 Читать статью

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#laravel #tips

💡Совет по Laravel: Исключение подтвержденного ввода

Иногда может понадобиться исключить входные данные из массива подтвержденных данных. Вместо того, чтобы вручную удалять их, можно использовать правило exclude, которое делает именно это 🚀.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#laravel #pest #tips #testing

Мне нравятся архитектурные пресеты в Pest 3.

Одна из самых приятных вещей - это возможность пропустить некоторые классы, что делает внедрение безболезненным.

Например, в этих классах используется md5() для Gravatar или для генерации имен для публичных файлов. Что совершенно нормально с точки зрения безопасности.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#backend #laravel #php #larawire #validation

👩‍💻 Упрощение валидации форм в Laravel Livewire с атрибутом #[Validate]

Как разработчики Livewire, мы всегда ищем способы сделать компоненты более лаконичными и простыми в обслуживании. Атрибут #[Validate], появившийся в Livewire v3, предлагает чистый и эффективный способ обработки валидации формы непосредственно в свойствах компонента. В статье мы рассмотрим, как использовать атрибут #[Validate] для упрощения компонентов Livewire и создания более читабельного кода.

🖥 Читать статью

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1