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

https://www.dev-notes.ru

@snakenf
Download Telegram
👩‍💻 Новое в Symfony 7.2: Линтер переводов

В Symfony 7.2 появилась новая команда lint:translations для проверки валидности содержимого переводов.

Линтеры — инструменты статического анализа кода, используемые для выявления ошибок, таких как синтаксические и стилистические проблемы. Symfony включает множество команд линтеров для проверки конфигурационных файлов YAML (lint:yaml), контейнерных сервисов (lint:container), шаблонов Twig (lint:twig) и даже синтаксиса файлов перевода XLIFF (lint:xliff).

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

📱 @dev_notes_ru

#Symfony #Linter
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
👩‍💻 Git Workflow: Эффективное управление кодовой базой

Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, эффективное управление кодовой базой имеет решающее значение. Git, популярная система контроля версий, помогает отслеживать изменения, сотрудничать с другими разработчиками и поддерживать целостность проекта. Однако без правильной организации рабочего процесса может стать непосильной задачей. В статье мы рассмотрим Git Workflow, охватывающий различные сценарии и лучшие практики, включая стратегии ветвления, такие как feature-based и forking workflows, для обеспечения эффективного сотрудничества и управления проектом.

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

📱 @dev_notes_ru

#Git #Workflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👌2
💡 Совет по Laravel

А вы знаете о классе Lottery, поставляемом с Laravel?

Проще говоря, этот класс позволяет задать вероятность выигрыша или проигрыша, а затем выполнить некоторый код на основе полученного результата.

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

Вот пример, иллюстрирующий использование класса Lottery для отправки рекламных уведомлений случайным пользователям на основе определенных действий...

📱 @dev_notes_ru

#laravel #lottery #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣4😁1
👩‍💻 Многим понравилась эта анимация с круговыми радиальными градиентами, поэтому я обновила её, использовав тригонометрические функции CSS.

👩‍💻 https://codepen.io/thebabydino/pen/poKeMZd?editors=0100

Это позволило сократить количество компилируемого CSS примерно вдвое. Кроме того, теперь она кроссбраузерная - начиная с этого лета 👩‍💻 Firefox поддерживает анимацию CSS переменных.

Ana Tudor

📱 @dev_notes_ru

#css #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
👩‍💻 Конфигурирование middleware в Laravel 11

Laravel 11 представляет новый способ конфигурирования middleware с помощью класса Illuminate\Foundation\Configuration\Middleware. Этот мощный класс предоставляет удобный интерфейс для управления стеком middleware приложения. В статье мы рассмотрим публичные методы класса Middleware и продемонстрируем, как эффективно использовать их в приложении Laravel.

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

📱 @dev_notes_ru

#Laravel #Laravel11 #Middleware
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
💡 Совет по Laravel: Новый метод `optimizes`

В Laravel v11.27.1 появился новый метод сервис провайдера под названием optimizes. Теперь можно задавать команды, выполняемые вместе с командами optimize и optimize:clear, например filament:optimize или другие команды 🚀.

📱 @dev_notes_ru

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

А вы знаете о хуках внутри Laravel Scheduled Tasks?

При планировании определенной команды можно настроить, что произойдет до и после её выполнения, используя методы before() и after(), принимающие в качестве параметра функцию обратного вызова.

Приведенный фрагмент кода демонстрирует использование хука after().

После того как ежемесячные вознаграждения распределены между торговыми агентами, мы просто уведомляем администратора о выполнении команды.

📱 @dev_notes_ru

#laravel #schedule #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как выполнить определенный файл миграции в Laravel

Если необходимо выполнить всего один файл миграции в Laravel, вот как это сделать.

Независимо от того, как выглядит ваша миграция, можно выполнять отдельные файлы миграции с помощью artisan. Пример миграции, которую необходимо выполнить:

public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('username')->nullable()->unique();
});
}


Эта миграция находится в файле database/migrations/2024_05_09_111656_add_username_to_users_table.php. С помощью опции --path можно указать миграцию, которую необходимо выполнить:

php artisan migrate --path=/database/migrations/2024_05_09_111656_add_username_to_users_table.php


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

php artisan migrate --path=/database/migrations/2024_05_09_111656_add_username_to_users_table.php,/database/migrations/2024_09_12_000001_create_customer_columns.php


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

📱 @dev_notes_ru

#Laravel #artisan #migration #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁3
👩‍💻 Новое в Symfony 7.2: Атрибут WhenNot

В Symfony 7.2 появился атрибут WhenNot, позволяющий исключить службу из определенного окружения.

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

📱 @dev_notes_ru

#Symfony #Attribute
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
⚡️ Мои каналы

📩 Заметки разработчика — Заметки о Frontend, Backend и немного DevOps. В основном о PHP, Laravel, JavaScript, CSS, тестировании кода и настройке серверов.

📦 Laravel packages — Пакеты Laravel Packages — созданный сообществом код для добавления дополнительной функциональности в Laravel

👩‍💻 Осваиваем Laravel — Погрузитесь в профессиональную веб-разработку с PHP и Laravel

📰 Web Dev Trends — Статьи по направлениям связанным с веб-разработкой, которые мне попались.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
👩‍💻 Не используйте одну и ту же модель для записи и чтения

Модели — отличный инструмент для взаимодействия с хранилищем данных. Можно задать, как выглядят данные, и это гарантирует, что они совместимы с хранилищем данных, обычно базой данных. Когда есть модель, проверяющая вводимые данные и помогающая их записывать, может возникнуть соблазн использовать её и для извлечения данных. За исключением некоторых базовых CRUD-приложений, обычно это не очень хорошая идея. Давайте разберёмся, почему.

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

📱 @dev_notes_ru

#PHP #Model #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
💡 Совет по Laravel: Получение возраста даты

Поскольку Laravel использует Carbon под капотом, можно легко получить возраст анализируемой даты 🚀.

📱 @dev_notes_ru

#laravel #carbon #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
💡 Совет по Laravel

Вы можете добавить URI фрагмент при редиректе на маршрут.

Это очень удобно при редиректе на определенный раздел страницы. Например, раздел отзывов на странице товара.

📱 @dev_notes_ru

#laravel #redirect #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Новое в Symfony 7.2: Новая опция choice_lazy для ChoiceType

В Symfony 7.2 представлен новый класс LazyChoiceLoader и опция choice_lazy для ChoiceType улучшающие производительности полей выбора с большим количеством вариантов.

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

📱 @dev_notes_ru

#Symfony #LazyChoiceLoader
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👩‍💻 PHP 8.4: Intl: Новая функция `intltz_get_iana_id` и метод `IntlTimeZone::getIanaID()`

Расширение Intl в PHP 8.4 предоставляет новую функцию intltz_get_iana_id и новый статический метод IntlTimeZone::getIanaID() в классе IntlTimeZone, возвращающий идентификатор часового пояса IANA для переданного идентификатора часового пояса.

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

Например, часовой пояс для Кипра, Asia/Nicosia, иногда используется как Europe/Nicosia. Новая функция intltz_get_iana_id и метод IntlTimeZone::getIanaID() обеспечивают простой способ поиска подобных несоответствий и получения правильного идентификатора IANA для часового пояса.

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

📱 @dev_notes_ru

#PHP #PHP84 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Заметки разработчика pinned «⚡️ Мои каналы 📩 Заметки разработчика — Заметки о Frontend, Backend и немного DevOps. В основном о PHP, Laravel, JavaScript, CSS, тестировании кода и настройке серверов. 📦 Laravel packages — Пакеты Laravel Packages — созданный сообществом код для добавления…»
💡 Совет по Laravel: Более чистый синтаксис жадной загрузки

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

📱 @dev_notes_ru

#laravel #eloquent #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Новое в Symfony 7.2: Улучшения компонента String

Symfony 7.2 улучшает компонент String, добавляя новый метод kebab-case, новые режимы усечения и испанский инфлектор.

Компонент String предоставляет объектно-ориентированный API для работы со строками и байтами, кодовыми точками UTF-8 и кластерами графем в едином ключе. В Symfony 7.2 мы улучшили его, добавив новые возможности.

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

📱 @dev_notes_ru

#Symfony #Component #String
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
👩‍💻 Как использовать Pan для простой аналитики в приложении Laravel

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

При создании веб-сайта или приложения знание как пользователи взаимодействуют с ним, является ключевым фактором для улучшения качества работы. Однако многие инструменты отслеживания сложны, дорогостоящи или не заботятся о конфиденциальности. Именно здесь на помощь приходит Pan. Pan — это простой, дружественный к конфиденциальности инструмент для отслеживания поведения пользователей в приложениях на Laravel, созданный Nuno Maduro и David Hill из команды Laravel.

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

📱 @dev_notes_ru

#Laravel #Pan
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
💡 Совет по Laravel

А вы знали, что при добавлении условий where в Query Builder можно использовать динамические имена методов?

Например, если требуется получить заказ, соответствующий определенному количеству (quantity), можно вызвать динамический метод whereQuantity($quantity), вместо where('quantity', $quantity).

📱 @dev_notes_ru

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