Заметки разработчика
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
Использование `attr()` в CSS для столбцов, цвета и размера шрифта

Теперь можно брать значения из атрибутов HTML, имеющих типы, так что если в элемент поместить атрибут data-font-size="2.2rem", то его значение можно присвоить.


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

📱 @dev_notes_ru

#Frontend #CSS #attr
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Дресс-код

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎1🤣1
Типы пользователей GitHub

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣3🔥1
Создание кастов моделей в Laravel

В статье мы рассмотрим, что такое мутаторы, аксессоры и касты и как их использовать в приложении Laravel. Также рассмотрим, как создавать и тестировать касты в Laravel и хранить объекты в базе данных.

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

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

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

К концу статьи вы должны чувствовать себя достаточно уверенно, приступая к использованию собственных кастов Laravel в своих приложениях.

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

📱 @dev_notes_ru

#Laravel12 #Eloquent
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
🚀 Laravel v12.4: Новый каст AsHtmlString для HTML-контента

Laravel представил новое приведение типа для Eloquent — AsHtmlString, автоматически преобразующее атрибут модели в экземпляр HtmlString.

🔹 Пример использования:

use Illuminate\Database\Eloquent\Casts\AsHtmlString;

protected $casts = [
'content' => AsHtmlString::class,
];


Теперь при обращении к $model->content вы получите объект HtmlString, доступный для вывода в Blade:

{!! $model->content !!}


Преимущества:

• Упрощает работу с HTML из базы данных
• Избавляет от ручного оборачивания в new HtmlString(...)
• Обеспечивает корректный вывод HTML в Blade

📌 Рекомендуется для безопасного HTML-контента.

📱 @dev_notes_ru

#Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
👩‍💻 Значения по умолчанию с оператором нулевого слияния

Оператор нулевого слияния (??) предоставляет простой способ обработки null или undefined значений в JavaScript. Он просто необходим, и я расскажу, почему.

Один из важных элементов синтаксиса JavaScript, который я с удовольствием использую, — это оператор нулевого слияния (??). Оператор ?? обрабатывает значения по умолчанию более эффективно по сравнению с традиционным подходом, использующим логический оператор ИЛИ (||). Это 100-процентно необходимый приём.

Оба оператора ?? и || возвращают правый операнд, если левый операнд является «ложным». Но ключевое различие заключается в том, что считать «ложным»…

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

📱 @dev_notes_ru

#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Стоит ли отказываться от CSS препроцессоров в 2025 году

Разбираем, можно ли в 2025 году отказаться от Sass и PostCSS в пользу нативного CSS, Lightning CSS и Tailwind. Плюсы и минусы современных инструментов.

Когда-то давно в нативном CSS не хватало многих важных функций, поэтому разработчики годами придумывали всевозможные способы упростить написание CSS.

Способы упрощения написания CSS можно разделить на две группы:

Препроцессоры
Постпроцессоры

К препроцессорам относятся такие инструменты, как Sass, Less и Stylus. Как следует из названия категории, эти инструменты позволяют писать CSS в их синтаксисе, прежде чем компилировать код в валидный CSS.

Постпроцессоры работают в обратном направлении — вы записываете в CSS-файл невалидный синтаксис CSS, а постпроцессоры изменяют эти значения в валидный CSS.

Сегодня существует два основных постпроцессора:

PostCSS
LightningCSS

PostCSS — это самый большой представитель этого направления, а Lightning CSS — новый и заслуживающий внимания.

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

📱 @dev_notes_ru

#Frontend #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🚀 PHP 8.5: Что нас ждёт в следующем релизе (ноябрь 2025)

PHP 8.5, запланированный к выпуску в ноябре 2025 года, предлагает ряд улучшений, призванных упростить разработку и сделать язык ещё мощнее.

🔧 Новые возможности и улучшения
- array_first() и array_last()
Быстрое получение первого или последнего элемента массива без изменения его внутреннего указателя.

- Замыкания (closures) в константных выражениях
Теперь можно использовать замыкания в значениях по умолчанию и константах, что повышает выразительность языка.

- Атрибуты для констант
Константы, включая глобальные, теперь можно помечать атрибутами, например #[Deprecated].

- Асимметричная видимость статических свойств
Теперь можно задавать разные уровни доступа для чтения и записи статических свойств.

- Улучшенные трассировки ошибок
Сообщения о фатальных ошибках теперь содержат более детальную информацию для упрощения отладки.

- Новые функции get_error_handler() и get_exception_handler()
Позволяют получить текущие обработчики ошибок и исключений.

- Улучшения в cURL
Добавлены постоянные идентификаторы для cURL share-дескрипторов, что повышает эффективность частых HTTP-запросов.

📌 Дата выхода: 20 ноября 2025 года

PHP 8.5 продолжает модернизировать язык, улучшать производительность и делать работу разработчиков удобнее! 🚀

📱 @dev_notes_ru

#PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
👩‍💻 Скрытые сокровища Laravel: 18 советов для профессиональных разработчиков

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

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

Вне зависимости от того, масштабируете ли вы серьёзный SaaS или экспериментируете с чем-то новым, нет никакого оправдания трате времени на решение проблем, уже решённых в Laravel. Эти советы помогут извлечь максимум пользы из фреймворка: чистый код, меньше хаков и больше времени, потраченного на реальное создание.

Итак, давайте разбираться.

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

📱 @dev_notes_ru

#Laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
Forwarded from Taylor Otwell 🪐
This Collection::ensure() method has provided no shortage of value ever since it was added. 🔥

👩‍💻 @taylorotwell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
Я не всегда тестирую свой код.
Но когда тестирую, то делаю это в продакшне.

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤣2🔥1
LinkedIn: На этой неделе вы появились в 367 поисковых запросах
Я: Так где же моя работа?

📱 @dev_notes_ru

#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Vim быстрое сохранение

:w сохраняет файл в Vim. Но знаете ли вы? В Нормальном режиме нажатие ZZ (Shift + zz) делает то же самое, а ZQ (Shift + zq) завершает работу без сохранения.

Готов поспорить, вы этого не знали, по крайней мере, я не знал. 🤣

📱 @dev_notes_ru

#vim #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1😡1
Новые методы массивов в PHP 8.5: array_first() и array_last()

Разбираем новые функции массива `array_first()` и `array_last()` в PHP 8.5: синтаксис, примеры использования и сравнение с `reset()` и `end()`. Узнайте, как упростить работу с массивами.

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

📱 @dev_notes_ru

#PHP #Array #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP 8.5: Новые возможности и изменения

PHP 8.5 — это активная ветвь разработки, в которую в настоящее время добавляются новые функции, основные изменения и новые RFC. Релиз выйдет 20 ноября 2025 год.

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

📱 @dev_notes_ru

#PHP #PHP85 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP 8.5: Новые функции массивов array_first() и array_last()

В PHP 8.5 добавлены две новые функции получения первого и последнего значений массива. Эти функции дополняют функции array_key_first и array_key_last, добавленные в PHP 7.3.

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

📱 @dev_notes_ru

#PHP #PHP85 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
У вас есть связь, в которой нужна только самая последняя или самая старая связанная модель?

Используйте latestOfMany() или oldestOfMany() с hasOne(), для доступа только к одной записи, без сложных подзапросов.

🖥 Ссылка на документацию

📱 @dev_notes_ru

#Laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 this в JavaScript: Когда определяется this

Ключевое слово this в JavaScript ставит в тупик всех разработчиков — от джунов до сеньоров. В первой из двух частей углубимся в основы, необходимые для лучшего понимания this и того, как он работает.

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

📱 @dev_notes_ru

#JavaScript #this
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
👩‍💻 Типизированные геттеры для хелперов `Arr`

Anthony Tibbs создал типизированные хелперы геттеров класса поддержки Arr для array, boolean, float, integer и string. Каждый метод попытается вернуть тип и выбросит исключение, если данные не соответствуют типу:

use Illuminate\Support\Arr;
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$value = Arr::array($array, 'languages'); // ['PHP', 'Ruby']
$value = Arr::array($array, 'name'); // throws InvalidArgumentException


🖥 Pull Request #55567

📱 @dev_notes_ru

#Laravel12 #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Преобразование значений в строки в JavaScript

Руководство по преобразованию значений в строки в JavaScript: сравнение 5 методов, работа с объектами и JSON.stringify(), практические примеры и лучшие практики.

Преобразование значений в строки в JavaScript сложнее, чем кажется:

- В большинстве подходов есть значения, которые они не могут обработать.
- Мы не всегда видим все данные.

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

📱 @dev_notes_ru

#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 В полезную нагрузку заданий добавлены `createdAt` и `delay`

Taylor Otwell внес вклад в добавление информации о создании и задержке задания в полезную нагрузку задания. delay - опциональная задержка задания в секундах, а createdAt - timestamp момента создания полезной нагрузки:

$job->payload();
/*
Теперь включает: ['delay' => 5, 'createdAt' => 1745965273]
*/


🖥 Pull Request #55529

📱 @dev_notes_ru

#Laravel12 #tips
Please open Telegram to view this post
VIEW IN TELEGRAM