Заметки разработчика
Ir al canal en Telegram
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов. https://www.dev-notes.ru @snakenf
Mostrar más463
Suscriptores
Sin datos24 horas
-37 días
+130 días
Archivo de publicaciones
💡 Совет по Laravel: Агрегатные функции (функции агрегации)
Мы часто используем
withCount при работе с отношениями, но вы знали, что другие агрегатные функции доступны из коробки? Например, можно также использовать функции sum, min и max 🚀.
📱 @dev_notes_ru
#Laravel #DB #tips👩💻 PHP 8.4: Curl: Новая опция
CURLOPT_TCP_KEEPCNT
Расширение PHP 8.4 Curl представляет новую опцию Curl с названием CURLOPT_TCP_KEEPCNT, устанавливающую максимальное количество запросов TCP keep-alive.
По умолчанию значение опции равно 9, но с помощью CURLOPT_TCP_KEEPCNT можно увеличить или уменьшить максимальное количество зондов keep-alive.
Опция принимает любое значение int, равное 0 или выше. Попытка установить недопустимое значение приводит к тому, что вызов curl_setopt возвращает false.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP84 #Curl #features👩💻 PHP 8.4: Curl: Новая опция
CURLOPT_PREREQFUNCTION
Расширение Curl в PHP 8.4 представляет новую опцию CURLOPT_PREREQFUNCTION, позволяющую задать пользовательский callable для принятия решения о продолжении или прерывании запроса. Эта возможность доступна, если расширение собрано с libcurl 7.80.0 или более поздней версии.
Обратный вызов CURLOPT_PREREQFUNCTION вызывается после установления начального соединения и перед отправкой запроса. Например, при запросе HTTPS обратный вызов CURLOPT_PREREQFUNCTION вызывается после установления HTTPS-соединения (DNS + TCP + TLS), перед отправкой фактического HTTP-запроса.
Этот обратный вызов может быть удобен в ситуациях, когда приложению необходимо определить, следует ли обрабатывать соединение в зависимости от IP-адреса и порта источника и получателя.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP84 #Curl #features💡 Совет по Laravel: Проверка, является ли пользователь гостем
Часто бывает необходимо проверить, аутентифицирован ли пользователь, и для этого используется метод
check. А вы знали, что если нужно проверить, является ли пользователь гостем, можно использовать метод guest? 🚀
📱 @dev_notes_ru
#Laravel #Auth #tips👩💻 PHP 8.4: Curl:
curl_getinfo - поддержка CURLINFO_POSTTRANSFER_TIME_T
Функция curl_getinfo в расширении Curl возвращает список информации о запросе Curl. Также можно передать параметр в функцию, чтобы получить конкретную информацию о запросе.
Начиная с версии Curl 8.10.0, Curl может возвращать время, прошедшее с момента начала запроса до отправки последнего байта (иначе называемое post time). Это может быть удобным способом измерением длительности в некоторых запросах, таких как загрузка файла в удалённую HTTP-форму, загрузка файла по FTP и т.д.
PHP 8.4 предоставляет эту возможность, если в системе установлена libcurl 8.10.0 или более поздняя версия. Длительность запроса можно получить в виде ключа posttransfer_time_us в возвращаемом значении curl_getinfo или передав новую константу CURLINFO_POSTTRANSFER_TIME_T в функцию curl_getinfo.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP84 #Curl #features👩💻 Новое в Symfony 7.2: Переработан компонент TypeInfo
В Symfony 7.2 изменён дизайн компонента TypeInfo и улучшена его стабильность.
🖥 Читать статью
📱 @dev_notes_ru
#Symfony #TypeInfo
💡 Совет по Laravel: Новый атрибут `
CollectedBy`
Начиная с Laravel v11.28, вместо переопределения метода newCollection, можно использовать новый атрибут CollectedBy, чтобы указать свою коллекцию для модели 🚀.
📱 @dev_notes_ru
#Laravel #Eloquent #tips👩💻 Обзор наследования в JavaScript
В JavaScript наследование является важным способом повторного использования кода и управления сложными объектными отношениями. Благодаря модели, основанной на прототипах, в JavaScript существует несколько шаблонов наследования, обладающих уникальными преимуществами. Давайте рассмотрим эти техники и поймём, когда какая из них наиболее эффективна.
🖥 Читать статью
📱 @dev_notes_ru
#JavaScript
👩💻 Новое в Symfony 7.2: Новые параметры команд
В Symfony 7.2 появились новые опции команд, позволяющие отслеживать переменные env контейнера, форматировать вывод статистики мессенджера и фильтровать ресурсы во время отладки.
🖥 Читать статью
📱 @dev_notes_ru
#Symfony #Symfony72
💡 Совет по Laravel: Предотвращение дублирования запросов
Мы часто загружаем связи вручную, используя метод
load. Хотя это и работает, но может привести к дублированию запросов, когда связь уже загружена. Этого можно избежать, используя метод loadMissing 🚀.
📱 @dev_notes_ru
#Laravel #Eloquent #tips👩💻 Недостатки JavaScript
JavaScript, незаменимый компонент современной веб-разработки, отличается универсальностью и мощью. Однако даже у такого популярного инструмента есть свои сложности. Давайте разберёмся в дополнительных, часто упускаемых из виду аспектах, делающих JavaScript менее идеальным в определённых ситуациях.
🖥 Читать статью
📱 @dev_notes_ru
#JavaScript
👩💻 Новое в Symfony 7.2: Упрощённые однофайловые приложения Symfony
В Symfony 7.2 однофайловые приложения стали проще и требуют меньше настроек.
🖥 Читать статью
📱 @dev_notes_ru
#Symfony #SingleFile #Application
Новое интерактивное руководство от Ahmad Shadeed, объясняющее, как работает CSS свойству
overflow: clip.
🖥 Overflow Clip
📱 @dev_notes_ru
#CSS #overlow #tips💡 Совет по Laravel: Автоматическое отправление сообщений о неудачных командах по электронной почте
Знаете ли вы, что Laravel поставляется с методом
emailOutputOnFailure, автоматически отправляющим результаты неудачной команды на вашу электронную почту? 🚀
📱 @dev_notes_ru
#Laravel #Schedule #tips👩💻 Laravel под капотом: Немного макросов
Один из способов расширить Laravel с помощью пользовательских методов — макросы и миксины. Давайте покажу как это делается!
Как часто вы желали получить метод, которого нет в коллекциях или строковых хелперах? Начинаете выстраивать цепочки методов, а потом упираетесь в стену, когда оказывается, что один из них отсутствует. Честно говоря, это вполне объяснимо: фреймворки, знаете ли, вещь универсальная. Сам неоднократно оказывался в подобной ситуации. Каждый раз, прежде чем приступить к расширению фреймворка, я проверял, не является ли то, что я хочу расширить, макросом или нет. Но что это означает? Именно это мы и будем исследовать!
🖥 Читать статью
📱 @dev_notes_ru
#Laravel #Macros #Mixin #tips
👩💻 Новое в Symfony 7.2: Упрощение настройки доверенных прокси
Symfony 7.2 упрощает настройку доверенных прокси с помощью сокращения частной подсети и новых переменных среды.
🖥 Читать статью
📱 @dev_notes_ru
#Symfony #Proxy
💡 Совет по Laravel: Метод `
mergeIfMissing`
Иногда необходимо добавить дополнительные данные к текущему запросу. Хотя их можно объединить вручную, Laravel уже поставляется с методом `mergeIfMissing`, позволяющим сделать именно это 🚀.
📱 @dev_notes_ru
#Laravel #Request #tips👩💻 PHP 8.4:
exit/die изменены из языковых конструкций в функции
Ключевое слово exit и его псевдоним die — языковые конструкции, выводящие сообщение и завершающие текущий сценарий. В CLI-приложениях exit/die можно использовать для завершения работы приложения с заданным кодом выхода.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP84 #features