Symfony 7.2 позволяет конфигурировать несколько экземпляров сериализаторов с различными контекстами по умолчанию, конвертерами имён, наборами нормализаторов и кодировщиков.
В Symfony 7.2 компонент Serializer позволяет настроить несколько экземпляров сериализатора с различными контекстами по умолчанию, конвертерами имён, наборами нормализаторов и кодировщиков. Это удобно, если ваше приложение взаимодействует с несколькими API, каждый из которых использует свои правила.
#Symfony #Serializer
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
@import объявлен устаревшимВ 2019 году была выпущена система модулей Sass, добавившая в язык новые правила
@use и @forward, призванные заменить @import и сделать таблицы стилей более удобными и менее подверженными ошибкам. Теперь можно объявить, что @import официально устарел, начиная с версии Dart Sass 1.80.0.Модульная система позволяет разработчикам и инструментам легко определить, где определён тот или иной член Sass, добавляет интервалы между именами, чтобы избежать необходимости вручную добавлять длинные и неудобные пространства имён к именам, и позволяет авторам библиотек гарантировать, что их приватные помощники не будут доступны последующим пользователям. Кроме того, поскольку каждый модуль загружается только один раз, использование одной и той же таблицы стилей несколько раз больше не приводит к дублированию CSS.
С момента выпуска модульной системы прошло 4,5 года, и уже больше года прошло с тех пор, как мы преодолели порог в 80% использования Dart Sass, установленный нами для начала процедуры устаревания, и мы чувствуем себя комфортно, делая этот шаг. Однако мы понимаем, что это большое изменение в языке, и не все пользователи смогли полностью отказаться от
@import до сих пор.#Frontend #Sass
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
А вы знаете о хелпере
rescue(), доступном в Laravel?Функция
rescue() принимает в качестве параметра функцию, которая выполняется немедленно, но не выбрасывает исключение, если оно возникло.Отсюда и название rescue(), поскольку запрос продолжается и «спасается» от исключения. Отличная мысль!
Однако если исключение возникает, о нем все равно сообщается в лог-файлы.
Вот пример разницы между функцией rescue() и блоком try-catch...
#laravel #helper #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🔥2
Навеяно https://codepen.io/gayane-gasparyan/pen/LYGGmmr, только здесь не нужно устанавливать каждое изображение в качестве фона
div, а затем дублировать его в pseudo.Вместо этого используется один элемент
img с alt. Более поддерживаемый, доступный + меню img по правому клику.Ana Tudor
#html #css #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
В Symfony 7.2 появилась новая команда
lint:translations для проверки валидности содержимого переводов.Линтеры — инструменты статического анализа кода, используемые для выявления ошибок, таких как синтаксические и стилистические проблемы. Symfony включает множество команд линтеров для проверки конфигурационных файлов YAML (
lint:yaml), контейнерных сервисов (lint:container), шаблонов Twig (lint:twig) и даже синтаксиса файлов перевода XLIFF (lint:xliff).#Symfony #Linter
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, эффективное управление кодовой базой имеет решающее значение. Git, популярная система контроля версий, помогает отслеживать изменения, сотрудничать с другими разработчиками и поддерживать целостность проекта. Однако без правильной организации рабочего процесса может стать непосильной задачей. В статье мы рассмотрим Git Workflow, охватывающий различные сценарии и лучшие практики, включая стратегии ветвления, такие как feature-based и forking workflows, для обеспечения эффективного сотрудничества и управления проектом.
#Git #Workflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👌2
А вы знаете о классе
Lottery, поставляемом с Laravel?Проще говоря, этот класс позволяет задать вероятность выигрыша или проигрыша, а затем выполнить некоторый код на основе полученного результата.
Точность вероятности не гарантируется, но она очень близка, поэтому рекомендуется не использовать его для транзакций.
Вот пример, иллюстрирующий использование класса
Lottery для отправки рекламных уведомлений случайным пользователям на основе определенных действий...#laravel #lottery #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Это позволило сократить количество компилируемого CSS примерно вдвое. Кроме того, теперь она кроссбраузерная - начиная с этого лета
Ana Tudor
#css #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Laravel 11 представляет новый способ конфигурирования middleware с помощью класса
Illuminate\Foundation\Configuration\Middleware. Этот мощный класс предоставляет удобный интерфейс для управления стеком middleware приложения. В статье мы рассмотрим публичные методы класса Middleware и продемонстрируем, как эффективно использовать их в приложении Laravel.#Laravel #Laravel11 #Middleware
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В Laravel v11.27.1 появился новый метод сервис провайдера под названием
optimizes. Теперь можно задавать команды, выполняемые вместе с командами optimize и optimize:clear, например filament:optimize или другие команды #laravel #carbon #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
А вы знаете о хуках внутри Laravel Scheduled Tasks?
При планировании определенной команды можно настроить, что произойдет до и после её выполнения, используя методы
before() и after(), принимающие в качестве параметра функцию обратного вызова.Приведенный фрагмент кода демонстрирует использование хука
after().После того как ежемесячные вознаграждения распределены между торговыми агентами, мы просто уведомляем администратора о выполнении команды.
#laravel #schedule #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Если необходимо выполнить всего один файл миграции в 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 и укажите пути к файлам миграции, которые необходимо выполнить.#Laravel #artisan #migration #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁3
WhenNotВ Symfony 7.2 появился атрибут
WhenNot, позволяющий исключить службу из определенного окружения.#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
👍6❤3
Модели — отличный инструмент для взаимодействия с хранилищем данных. Можно задать, как выглядят данные, и это гарантирует, что они совместимы с хранилищем данных, обычно базой данных. Когда есть модель, проверяющая вводимые данные и помогающая их записывать, может возникнуть соблазн использовать её и для извлечения данных. За исключением некоторых базовых CRUD-приложений, обычно это не очень хорошая идея. Давайте разберёмся, почему.
#PHP #Model #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Поскольку Laravel использует Carbon под капотом, можно легко получить возраст анализируемой даты
#laravel #carbon #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
Вы можете добавить URI фрагмент при редиректе на маршрут.
Это очень удобно при редиректе на определенный раздел страницы. Например, раздел отзывов на странице товара.
#laravel #redirect #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
choice_lazy для ChoiceTypeВ Symfony 7.2 представлен новый класс
LazyChoiceLoader и опция choice_lazy для ChoiceType улучшающие производительности полей выбора с большим количеством вариантов.#Symfony #LazyChoiceLoader
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3