Недавно мы рассмотрели, почему стилизация элементов веб-компонентов в shadow DOM - это отстой, и я рассказал о пяти различных подходах, которые можно использовать.
Сегодня мы подробно рассмотрим первый из них: встроенный CSS.
Давайте разбираться!
#webdev #CSS #WebComponent #ShadowDOM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как часто вы желали получить метод, которого нет в коллекциях или строковых хелперах? Вы начинаете выстраивать цепочки методов, но натыкаетесь на стену, когда оказывается, что одного из них не существует. Честно говоря, это вполне объяснимо: фреймворки, знаете ли, вещь универсальная. Я сам неоднократно оказывался в такой ситуации. Каждый раз, прежде чем приступить к расширению фреймворка, я проверял, является ли то, что я хочу расширить, макросом или нет. Но что это значит? Именно это мы и будем изучать!
#webdev #Laravel #Macros
Please open Telegram to view this post
VIEW IN TELEGRAM
В PHP интерфейс — это способ определить образец для классов, указывающий методы, обязательные для любого класса, реализующего интерфейс. Считайте, что это контракт между интерфейсом и классом, реализующим его. Это мощный инструмент в объектно-ориентированном программировании (ООП), позволяющий разработчикам определить набор функций, подлежащих реализации, что помогает сохранить последовательность и организованность кода в рамках всего проекта.
В статье мы разберем, что такое интерфейсы, рассмотрим реальный случай их использования и приведем пример кода, помогающий легко понять и применить интерфейсы в ваших проектах.
#webdev #PHP #Interface
Please open Telegram to view this post
VIEW IN TELEGRAM
В JavaScript наследование является важным способом многократного использования кода и управления сложными объектными отношениями. Благодаря модели, основанной на прототипах, в JavaScript существует несколько шаблонов наследования, обладающих уникальными преимуществами. Давайте изучим эти методы и поймем, когда они наиболее эффективны.
В статье рассматриваются семь основных типов наследования в JavaScript: от основополагающего наследования по цепочке прототипов до современного наследования классов в ES6. Каждый метод обладает уникальными достоинствами и недостатками, что позволяет разработчикам выбирать оптимальный подход для различных сценариев и потребностей в производительности. Поняв и реализовав эти модели наследования, вы будете лучше подготовлены к созданию структурированного и удобного кода на JavaScript.
#webdev #JavaScript #JS #Inheritance
Please open Telegram to view this post
VIEW IN TELEGRAM
В течение долгого времени самой востребованной функцией CSS были контейнерные запросы. Это был святой грааль, самый большой недостающий элемент в наборе инструментов CSS.
Наконец-то контейнерные запросы появились. Они поддерживаются во всех основных браузерах уже почти два года. Наши молитвы были услышаны!
#webdev #CSS #Container
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый синтаксис атрибутов импорта и почему мы больше нельзя полагаться только на расширения файлов.
JavaScript получает новую функцию, делающую импорт модулей более явным и безопасным. Атрибуты импорта добавляют способ передачи метаданных о любом импортируемом модуле — будь то JSON, JavaScript или другие типы модулей.
#webdev #CSS #Container
Please open Telegram to view this post
VIEW IN TELEGRAM
Обеспечить, чтобы растущая кодовая база следовала лучшим практикам и не отклонялась от стандартов, необходимо для любого проекта. Однако, как правило, это можно обеспечить только вручную с помощью анализа кода и других подобных процессов. Как и любая другая ручная работа, она может отнимать много времени, быть утомительной и чреватой ошибками. Именно здесь на помощь приходит архитектурное тестирование.
Архитектурное тестирование позволяет автоматически внедрять стандарты кода, такие как соглашения об именовании, использование методов, структура каталогов и многое другое.
В статье мы познакомимся с архитектурным тестированием и преимуществами его использования. Затем рассмотрим, как писать архитектурные тесты для приложений Laravel с помощью Laravel Pest, популярного фреймворка для тестирования PHP. К концу статьи вы будете уверены в написании архитектурных тестов для своих приложений Laravel.
#webdev #Laravel #Pest
Please open Telegram to view this post
VIEW IN TELEGRAM
Легко придерживаться того, что вы знаете. Когда речь идет о переключении контента, это может быть display: none или opacity: 0 с некоторым количеством JavaScript. Но сегодня веб стал более «современным», поэтому, возможно, сейчас самое время взглянуть на различные способы переключения содержимого с высоты птичьего полета — какие нативные API действительно поддерживаются сейчас, их плюсы и минусы, а также некоторые вещи, о которых вы могли не знать (например, псевдо-элементы и другие неочевидные вещи).
#webdev #HTML #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
Выравнивание по вертикали и горизонтали без
grid или flexbox, text-box-trim и выравнивание абсолютно позиционированного элемента#webdev #CSS #Centering
Please open Telegram to view this post
VIEW IN TELEGRAM
Прекратите смешивать try/catch с цепочками Promise - новый Promise.try в JavaScript единообразно обрабатывает возвращаемые значения, Promises и ошибки
В JavaScript появилась новая утилита Promise, позволяющая сделать работу с потенциально асинхронными функциями чище и безопаснее. Promise.try позволяет обернуть любую функцию в Promise, независимо от того, является ли она асинхронной или нет, сохраняя при этом оптимальное время выполнения.
#webdev #JS #JavaScript #Promise
Please open Telegram to view this post
VIEW IN TELEGRAM
В грядущей версии PHP 8.4 появятся новые сообщения об ошибках, а также будут удалены некоторые из старых. Новые сообщения связаны с новыми функциями, устаревшими, удаленными и дополнительными проверками в исходном коде. Давайте рассмотрим новые сообщения об ошибках PHP в PHP 8.4 и подготовим наш код к ноябрю 2024 года.
#webdev #PHP #PHP84
Please open Telegram to view this post
VIEW IN TELEGRAM
Убедитесь, что ваши плагины WordPress полностью совместимы с PHP 8! В этом руководстве рассматриваются общие проблемы, решения и оптимизации, позволяющие максимально использовать улучшения производительности PHP 8.
#webdev #WordPress #Plugin #PHP8
Please open Telegram to view this post
VIEW IN TELEGRAM