Статьи с тегом «Backend»
BackendSymfony В Symfony 7.2 устарело несколько функций, включая параметры конфигурации сессии, пустые идентификаторы пользователей и тег !tagged
.BackendSymfony В Symfony 7.2 появилась Stateless CSRF защита, позволяющая безопасно проверять токены, не полагаясь на сессии на стороне сервера.BackendSymfony В Symfony 7.2 в Serializer добавлена поддержка подклассов DateTime
, новый конвертер имён SnakeCaseToCamelCase
, обновлённые константы UUID и опциональная интеграция WebhookBackendPHP Curl предоставляет опцию CURLOPT_DEBUGFUNCTION
для установки пользовательской функции обратного вызова, вызываемой вместо стандартной функции вывода сообщений.BackendPHP Расширение PHP 8.4 Curl представляет новую опцию Curl с названием CURLOPT_TCP_KEEPCNT
, устанавливающую максимальное количество запросов TCP keep-alive.BackendPHP Расширение Curl в PHP 8.4 представляет новую опцию CURLOPT_PREREQFUNCTION
, позволяющую задать пользовательский callable
для принятия решения о продолжении или прерывании запроса. Эта возможность доступна, если расширение собрано с libcurl 7.80.0 или более поздней версии.BackendPHP Функция curl_getinfo
в расширении Curl возвращает список информации о запросе Curl. Также можно передать параметр в функцию, чтобы получить конкретную информацию о запросе.BackendSymfony В Symfony 7.2 изменён дизайн компонента TypeInfo
и улучшена его стабильность.BackendSymfony В Symfony 7.2 появились новые опции команд, позволяющие отслеживать переменные env контейнера, форматировать вывод статистики мессенджера и фильтровать ресурсы во время отладки.BackendSymfony В Symfony 7.2 однофайловые приложения стали проще и требуют меньше настроек.BackendLaravel Один из способов расширить Laravel с помощью пользовательских методов — макросы и миксины. Давайте покажу как это делается!BackendSymfony Symfony 7.2 упрощает настройку доверенных прокси с помощью сокращения частной подсети и новых переменных среды.BackendPHP Ключевое слово exit
и его псевдоним die
— языковые конструкции, выводящие сообщение и завершающие текущий сценарий. В CLI-приложениях exit
/die
можно использовать для завершения работы приложения с заданным кодом выхода.BackendSymfony В Symfony 7.2 добавлены режим валидации для ограничения BIC, errorPath для ограничения Unique, опции format для ограничения Ulid и поддержка контекста для ограничения When.BackendPHP Одной из менее заметных функций, появившихся в PHP 8.4, каламбурно говоря, является ассиметричная видимость PHP свойств. Это обновление текущей видимости, а также ряд усовершенствованных возможностей по сравнению с readonly, хуками свойств или магическими методами. Это не для всех, но может оказаться весьма полезным. Давайте посмотрим!BackendSymfony Symfony 7.2 позволяет настраивать индикатор, отображаемый при завершении команды Console.BackendLaravel Узнайте о различных типах пагинации, доступных в Laravel, и как их использовать. Также рассмотрим основные генерируемые SQL запросы и как решить, какой подход к пагинации использовать.BackendLaravel При создании приложений Laravel почти гарантированно придётся иметь дело с сессиями. Они являются фундаментальной частью веб-разработки.BackendSymfony В Symfony 7.2 в компоненте Mime добавлена поддержка кастомных энкодеров и адресов электронной почты в кодировке Unicode.BackendSymfony В Symfony 7.2 появилась функция keepalive
для транспортов Messenger, предотвращающая таймауты при обработке сообщений.BackendLaravel Хотя Laravel традиционно используется для создания веб-приложений, некоторые приложения нуждаются в надёжных командах CLI, запускаемых через Docker в продакшн-среде. Узнайте, как настроить образ Docker для запуска Artisan CLI, благодаря чему вы получите основу для распределения CLI-приложений на PHP.BackendSymfony В Symfony 7.2 появилась новая утилита, требующая, чтобы некоторые параметры существовали и имели непустые значения.BackendPHP PHP 8.4: Curl: Новые константы CURL_HTTP_VERSION_3
и CURL_HTTP_VERSION_3ONLY
для поддержки HTTP/3BackendSymfony В Symfony 7.2 можно задавать HTTP заголовки статических страниц и выводить определённые блоки Twig используя атрибуты.BackendSymfony Symfony 7.2 позволяет отправлять уведомления прямо на рабочий стол, используя новый канал desktop
в компоненте Notifier.BackendLaravel В мире разработки Laravel надёжная обработка ошибок имеет решающее значение для поддержания стабильной и комфортной работы приложения. Однако существуют сценарии, в которых требуется игнорировать определённые типы исключений. Laravel предлагает элегантный способ решения этой задачи, позволяя разработчикам тонко настраивать отчёт об ошибках в приложении. Давайте рассмотрим, как можно использовать эту возможность в проектах Laravel.BackendSymfony В Symfony 7.2 улучшена команда извлечения переводов, позволяющая настраивать префиксы, изменять поведение обновлений и сортировать контент.BackendSymfony В Symfony 7.2 составные ограничения легче тестировать и можно определять группы валидации и полезную нагрузку через конструктор.BackendLaravel В статье мы рассмотрим, как интегрировать Pan в проект Laravel и отслеживать просмотры, наведение курсора и клики, не собирая персональных данных пользователей.BackendSymfony Symfony 7.2 улучшает компонент String, добавляя новый метод kebab-case, новые режимы усечения и испанский инфлектор.BackendPHP Расширение Intl в PHP 8.4 предоставляет новую функцию intltz_get_iana_id
и новый статический метод IntlTimeZone::getIanaID()
в классе IntlTimeZone, возвращающий идентификатор часового пояса IANA для переданного идентификатора часового пояса.BackendSymfony В Symfony 7.2 представлен новый класс LazyChoiceLoader
и опция choice_lazy
для ChoiceType
улучшающие производительности полей выбора с большим количеством вариантов.BackendPHP Модели — отличный инструмент для взаимодействия с хранилищем данных. Можно задать, как выглядят данные, и это гарантирует, что они совместимы с хранилищем данных, обычно базой данных. Когда есть модель, проверяющая вводимые данные и помогающая их записывать, может возникнуть соблазн использовать её и для извлечения данных. За исключением некоторых базовых CRUD-приложений, обычно это не очень хорошая идея. Давайте разберёмся, почему.BackendSymfony В Symfony 7.2 появился атрибут WhenNot
, позволяющий исключить сервис из определённого окружения.BackendLaravel Laravel 11 представляет новый способ конфигурирования middleware с помощью класса Illuminate\Foundation\Configuration\Middleware
. Этот мощный класс предоставляет удобный интерфейс для управления стеком middleware приложения. В статье мы рассмотрим публичные методы класса Middleware
и продемонстрируем, как эффективно использовать их в приложении Laravel.BackendSymfony В Symfony 7.2 появилась новая команда lint:translations
для проверки валидности содержимого переводов.BackendSymfony Symfony 7.2 позволяет конфигурировать несколько экземпляров сериализаторов с различными контекстами по умолчанию, конвертерами имён, наборами нормализаторов и кодировщиков.BackendLaravel Обеспечение регулярного резервного копирования баз данных крайне важно для любого приложения. Планировщик задач Laravel в сочетании с облачным хранилищем предоставляет эффективный способ автоматизировать этот процесс. Давайте рассмотрим, как реализовать автоматическое резервное копирование баз данных с помощью Laravel и хранить его в облаке.BackendSymfony В Symfony 7.2 представлен новый атрибут AsMessage
, позволяющий настраивать транспорт(ы) непосредственно в классе сообщенияBackendSymfony В Symfony 7.2 улучшен компонент ExpressionLanguage, добавлены новые битовые и логические операторы, упрощена регистрация кастомных провайдеров и реализована поддержка комментариев.BackendSymfony Symfony 7.2 представляет silent verbosity для подавления всего вывода, включая ошибки.BackendSymfony В Symfony 7.2 появилось три новых ограничения: первое проверяет номера недель, второе проверяет количество слов, а третье проверяет синтаксис YAML.BackendSymfony Наиболее важные нововведения Symfony 7.2, релиз которого состоится в ноябре 2024 г.BackendSymfony Серия статей, рассказывающих о новых возможностях, появляющихся в каждой версии Symfony.BackendLaravel При создании сложных запросов к базе данных в Laravel наличие под рукой мощных инструментов отладки может стать решающим фактором. Laravel предоставляет набор методов, позволяющих детально изучать запросы, делая процесс отладки более плавным и эффективным. Рассмотрим эти методы и узнаем, как они могут улучшить рабочий процесс разработки.BackendLaravel Система авторизации Laravel, основанная на политиках, предоставляет мощный способ управления контролем доступа в приложениях. В сочетании с middleware маршрутов она предлагает чистый и эффективный метод обеспечения безопасности маршрутов на основе прав пользователей. Рассмотрим, как реализовать авторизацию маршрутов на основе политик с помощью middleware 'can'.BackendLaravel Познакомьтесь с новым методом Cache::flexible()
в Laravel, позволяющим сбалансировать свежесть данных и производительность в приложениях с высокой активностью.BackendPHP Благодаря поддержке Unicode 16 расширение MBString может работать со всеми новейшими символами Emoji, а также имеет самую актуальную информацию о смене регистра и ширине символов.BackendPHP bcdivmod
может быть использован в случаях, когда необходимо получить частное и остаток от деления, и избавляет от необходимости вызывать функции bcdiv
и bcmod
по отдельности.BackendLaravelSecurity Ещё один пример того, почему никогда не следует доверять пользовательскому вводу!BackendLaravel Атрибуты PHP — отличный способ добавить метаданные к классам, методам и свойствам. Laravel предоставляет множество атрибутов из коробки, которые можно использовать в приложениях.BackendPHP Поскольку все уведомления E_STRICT
были преобразованы в E_NOTICE
начиная с PHP 8.0, в PHP 8.4 константа E_STRICT
объявлена устаревшей.BackendPHP Часто, когда думают о PHPStan, обычно думают об улучшении Type Coverage. На самом деле это лишь малая часть того, на что способен PHPStan. В этой статье рассмотрим, как использовать его для предотвращения регрессий обновления.BackendPHPTesting У фреймворка тестирования Pest много поклонников, в основном из-за элегантного, читабельного «англоязычного» синтаксиса. Я покажу три моих любимых примера синтаксиса expect()
и сравню аналогичные вещи в Pest vs PHPUnit.BackendLaravel Существует множество статей с вопросами для собеседования по Laravel, но в основном они звучат как вопросы из викторины.BackendLaravel Кэширование запросов к базе данных — мощная техника оптимизации производительности приложений Laravel. Кэшируя часто используемые данные, можно значительно снизить нагрузку на базу данных и ускорить работу приложения. В статье мы рассмотрим, как использовать Laravel метод Cache::tags()
для реализации тонкого контроля над стратегией кэширования.BackendLaravel Laravel хелпер transform()
— мощный, но недооценённый инструмент, способный очистить код при работе с условными модификациями данных. Эта универсальная функция позволяет преобразовывать данные только при соблюдении определённых условий, что делает её идеальной для обработки пользовательского ввода, форматирования ответов API или предоставления значений по умолчанию. Рассмотрим, как эффективно использовать хелпер transform()
в проектах Laravel.BackendLaravel При работе с большими массивами данных в Laravel использование памяти может быстро стать узким местом. Lazy Collection предлагает элегантное решение проблемы, позволяя эффективно работать с большими объёмами данных. Давайте рассмотрим, как использовать эту мощную функцию в приложениях Laravel.BackendPHP Узнайте, как реализовать автозагрузку PSR-4 в PHP. Откройте для себя преимущества PSR-4, как настроить его с помощью Composer, а также лучшие практики организации пространств имён в ваших PHP проектах.SecurityBackend User Agent, часто сокращённо UA, играет важную роль в том, как веб-сервер интерпретирует и отвечает на запросы различных клиентов, таких как браузеры, мобильные устройства и даже боты.BackendLaravel Artisan — это интерфейс командной строки Laravel, помогающий оптимизировать процесс разработки. Давайте изучим его возможности и узнаем, как он может повысить производительность.BackendLaravel Как разработчики Livewire, мы всегда ищем способы сделать компоненты более лаконичными и простыми в обслуживании. Атрибут #[Validate]
, появившийся в Livewire v3, предлагает чистый и эффективный способ обработки валидации формы непосредственно в свойствах компонента. В статье мы рассмотрим, как использовать атрибут #[Validate]
для упрощения компонентов Livewire и создания более читабельного кода.BackendLaravel Если фасады в Laravel сбивают с толку, присоединяйтесь и узнайте, как определить сервис, стоящий за любым фасадом, встречающимся во фреймворке.BackendLaravel В мире веб-разработки производительность имеет ключевое значение. Laravel предоставляет утилиту Benchmark, позволяющую разработчикам измерять и сравнивать время выполнения различных фрагментов кода. Этот инструмент неоценим для выявления узких мест и оптимизации производительности приложения. Давайте рассмотрим, как использовать утилиту Benchmark в проектах Laravel.BackendLaravelSecurity Знаете ли вы, что валидатор URL в Laravel позволяет контролировать какие протоколы принимаются? Вот моя рекомендация...BackendPHPTestingLaravel Узнайте, как Pest 3 упрощает архитектурное тестирование с помощью пресетов, позволяя без труда внедрять лучшие практики и поддерживать качество кода в проектах.BackendPHPTestingLaravel Повысьте уровень тестирования PHP с помощью Pest 3. Архитектурные тесты с пресетами, мутации и управление списками задач.BackendLaravelEloquent Laravel предоставляет огромное количество классных возможностей, помогающих улучшить опыт разработки (DX). Но из-за регулярных релизов, стрессов, связанных с повседневной работой, и огромного количества доступных функций легко упустить некоторые менее известные возможности, которые могут помочь улучшить код.BackendPHPComposer Если хотите создать PHP пакет с нуля и поделиться им с другими PHP разработчиками, Composer — это менеджер зависимостей, упрощающий этот процесс! Благодаря Composer PHP имеет одну из лучших экосистем пакетов. Погрузимся в этот процесс и пройдёмся по шагам создания PHP пакета.BackendLaravel Вам известны все правила валидации, доступные в Laravel? Подумайте ещё раз! В Laravel есть множество готовых правил валидации, способных значительно упростить написание кода. Рассмотрим 10 редко используемых правил валидации, о существовании которых некоторые не подозревали.BackendPHP Узнайте о новой функции property hooks (хуки свойств), которая будет добавлена в PHP 8.4 выходящем в ноябре 2024 г.BackendPHP Узнайте, как использовать новые функции PHP 8.4 array_find
, array_find_key
, array_all
и array_any
. Кроме того, приведены аналоги в Laravel, для достижения тех же результатов.BackendPHP Узнайте, когда следует использовать if
, switch
и match
в PHP для оптимальной эффективности и читабельности кода. Изучите синтаксис, примеры использования и практические примеры.BackendLaravel В Коллекциях Laravel есть хелпер, помогающий работать с массивами данных. Для работы с данными используется подход функционального программирования, и одной из операций, которую можно выполнить, является операция сведенияBackendPHP В PHP я предпочитаю использовать функции массивов, а не циклы foreach
. И хотя синтаксис не такой красивый, как в JavaScript, считаю, что они работают лучше, чем "обычный" цикл.BackendLaravelDatabase Если говорить о производительности базы данных, то она в первую очередь определяется тем, насколько хорошо база данных справляется с операциями чтения и записи.BackendPHP В PHP уже давно существует возможность типизировать параметры методов и функций. Добавление типов в массивы (и просто добавление типов в целом) поможет при использовании IDE или статического анализа, а также поможет другим разработчикам в команде понять ваш код. Также это поможет избежать ошибок и сделает код чище и читабельнее.BackendPHP MD5 подобен таракану — он живуч и вылезает отовсюду, но ясно одно: необходимо прекратить его использование (и SHA-1 тоже)!BackendLaravel Отпечаток — уникальный узор или характеристика, которая может быть использована для идентификации человека или объекта. Это понятие широко используется в различных областях.BackendPHP Узнайте, как использовать именованные аргументы в PHP, чтобы улучшить читаемость кода. Кроме того, поговорим о некоторых проблемах, о которых следует помнить.BackendLaravelEloquentTesting Рассмотрим, что такое события модели и как их использовать в приложении Laravel. Также рассмотрим, как тестировать события модели и проблемы, на которые следует обратить внимание при их использовании.BackendLaravel С выходом Laravel 11 скелет приложения был урезан, чтобы удалить лишние файлы, не требующиеся в каждом проекте. Частью этого изменения стало удаление из исходного кода приложения всех сервис провайдеров, кроме AppServiceProvider
.BackendPHP В PHP 8.4 добавлено несколько функций, которых давно не хватало: array_find()
и её вариации. Назначение array_find()
простое: передайте ей массив и обратный вызов, и получите первый элемент, для которого обратный вызов вернёт true
.BackendPHP Несмотря на то, что HTML 5 существует уже более 16 лет, PHP никогда не поддерживал его должным образом. В PHP есть \DOMDocument
, который теоретически должен поддерживать HTML 4, но на самом деле он уже не совместим с HTML 4.BackendLaravelEloquent В статье рассмотрим локальные и глобальные области запросов. Узнаем, в чем разница между ними, как создавать свои собственные и как писать для них тесты.BackendLaravel В статье рассмотрим, как регистрировать поддомены для пользователя, команды, компании, какой бы ни была модель. Сначала рассмотрим основы определения поддоменов в маршрутах Laravel, а затем перейдём к практическим действиям.BackendPHP Использование PHP в июле 2024 года. Каждые полгода я публикую обновлённую информацию о том, какие версии PHP используются в сообществе.BackendPHP Узнайте о девяти магических константах, предоставляемых PHP. Рассмотрим примеры того, что делает каждая из магических констант.BackendPHP Узнайте, что такое PHP атрибуты и как их использовать. Также рассмотрим, как создавать собственные PHP атрибуты.BackendLaravel Сегодня погрузимся в мощную возможность Laravel — Фасады. Рассмотрим эту концепцию на практическом и интересном примере: Фасад ImageFilter
.BackendPHP В PHP 8.0 был добавлен WeakMap
— мистическая функция, которую мы никогда не использовали, пока не столкнулись со сложной проблемой, требующей решения.BackendLaravelTesting Узнайте, как можно проверить структуру JSON ответов в Laravel с помощью мощных методов утверждения JSON, доступных в классе TestResponse
в Laravel.BackendLaravel Виртуальные столбцы необходимы, когда требуется добавить в модель столбец, не существующий в базе данных. Это может быть необходимо для таких вещей, как вычисляемые столбцы, или для столбцов, являющихся производными от других столбцов.BackendLaravel Узнайте, как использовать полиморфные модели по типу в Laravel для работы с различными типами параметров в одной таблице базы данных. В статье рассматривается процесс использования полиморфных отношений для работы с различными типами параметров в одной таблице базы данных.BackendPHP Простота и гибкость делают JSON идеальным выбором для обмена данными, API и веб-сервисов, конфигурационных файлов, хранения данных и сериализации. Однако такая гибкость может привести к проблемам, если структура данных не будет должным образом проверена. Именно здесь на помощь приходит JSON Schema предоставляющая мощный способ проверки структуры и содержимого данных JSON.BackendPHPTesting Вдохновлённый сообщением создателя Pest Nuno Maduro о методе ->only()
в PestPHP, я собрал советы и рекомендации для PHP-разработчиков по эффективной изоляции, пропуску и итерации тестов.BackendSymfony Считаю, что в каждом приложении Symfony можно уместить сервисный конфиг в 5 строк. Я поделюсь двумя техниками, которые использую последние пару лет для достижения наилучшей архитектуры с наименьшим количеством строк.BackendPHP Вызов session_set_save_handler()
с более чем двумя аргументами объявлен устаревшим.BackendPHPComposer Composer — основной менеджер зависимостей для PHP, и если работаете с PHP, то уже знакомы с такими часто используемыми командами, как composer install
и composer update
. Composer также предоставляет несколько менее известных, но полезных при работе над приложениями в PHP, команд.BackendLaravel Валидация — важная часть любого веб-приложения. Она помогает предотвратить уязвимости в системе безопасности, повреждение данных и множество других проблем, которые могут возникнуть при работе с пользовательским вводом.BackendPHP Расширение Intl в PHP 8.4 добавляет новую функцию grapheme_str_split
, разбивающую заданную строку на массив графем.BackendPHP В PHP 8.4 добавлены четыре новые функции массива для поиска и проверки элементов массива с функцией обратного вызова: array_find
, array_find_key
, array_all
и array_any
.BackendLaravel Рассмотрим класс даты Carbon в Laravel и то, как изменить настройки использования этого класса в Laravel, чтобы сделать его иммутабельным.BackendPHP PHP разработчику, нужно знать множество особенностей языка, чтобы облегчить написание и сопровождение кода. Без явного рассказа о той или иной части языка сложно даже узнать о её существовании, поэтому сегодня поговорим о магических методах, которыми обладают классы, и о том, как их использовать при написании кода.BackendPHP Сможем ли отказаться от скобок вокруг ключевого слова new при инстанцировании класса? Узнайте последние новости о статусе этого интересного RFC-предложения PHP 8.4.BackendLaravelEloquent Laravel известен своим Eloquent ORM, обычно работающим с реляционными базами данных, такими как MySQL. Но что, если нужно выбрать NoSQL-решение, например MongoDB? В статье мы расскажем как начать работу с MongoDB в Laravel.BackendSymfony В Symfony 7.1 появился новый атрибут MapUploadedFile, позволяющий внедрять загруженные файлы в аргументы контроллера.BackendSymfony Symfony 7.1 добавляет два новых ограничения для проверки MAC-адресов и набора символов, в которых закодировано содержимое.BackendLaravel Невероятно часто встречаются жёстко закодированные домены, используемые для идентификации администраторов, однако это также делает простой задачей повышение привилегий до уровня администратора!BackendSymfony Symfony 7.1 содержит новый атрибут IsCsrfTokenValid для упрощения логики, необходимой для проверки валидности CSRF-токенов.BackendSymfony В Symfony 7.1 добавлен новый компонент TypeInfo, извлекающий информацию о PHP типе из нескольких элементов (свойства и методы классов, возвращаемые типы функций и методов и т.д.)BackendSymfony Цикл статей, рассказывающих о наиболее важных новых возможностях Symfony 7.1, который выйдет в конце мая 2024 года.BackendPHP Подробнее об атрибуте Override: Override имеет несколько специфических, менее известных вариантов поведения с классами, трейтами и интерфейсами.BackendPHP В процессе рефакторинга и оптимизации легаси кода я столкнулся с несоответствием сигнатур метода, что вызывало проблемы с производительностью.BackendPHP При создании PHP-приложений исключения играют важную роль в обработке ошибок и сбоев, возникающих во время жизненного цикла приложения. Рассмотрим, как использовать пользовательские исключения для улучшения приложений.BackendLaravel Middleware в Laravel играет важную роль в перехвате HTTP-запросов, поступающих в приложение, для применения пользовательской логики, прежде чем будет выполнен какой-либо фактический код приложения. Однако существуют сценарии, в которых вам может потребоваться исключить определённые маршруты или методы из обработки middleware.BackendLaravel Если вы новичок в Laravel или PHP, давайте рассмотрим, как можно создать собственные хелперы, автоматически загружаемые Laravel.BackendPHP Property Hooks в PHP становится всё ближе к появлению в PHP 8.4 благодаря подавляющему большинству голосов 34/1. Узнайте о Property Hooks в PHP и синтаксисе, описанном в предложении.BackendLaravelTesting Как тестировать ожидаемые исключения, имитировать обработку исключений в Laravel 11 и использовать фасад Laravel Exceptions для утверждения исключений в HTTP-тестах.BackendLaravel Laravel в значительной степени опирается на фасады. Кто-то может подумать, что это антипаттерны. Но я считаю, что при правильном использовании они могут привести к чистому и тестируемому коду. Давайте посмотрим, как это сделать.BackendLaravelPHP Пришло время повысить количество раундов bcrypt до 12 (или выше)!BackendLaravel Давайте проверим три опции конфигурации, доступные в рамках Автоматического перехэширования паролей: пользовательские поля, отключение перехэширования и изменение раундов bcrypt.BackendLaravel Мы недавно перевели инфраструктуру баз данных с MySQL на Postgres. Это обзор того, как мы использовали конструктор запросов Laravel для миграции данных.BackendLaravel Узнайте, как создавать, выбрасывать и обрабатывать исключения при выполнении запросов к сторонним API.BackendLaravel Использование контроллероподобных классов и Laravel-data для эффективного взаимодействия с API.BackendLaravel Руководство по созданию Объектов Передачи Данных (DTO) для повышения читабельности, эффективности и тестируемости API интеграций в Laravel.BackendLaravel Создание многократно используемого класса API-запроса и клиента.BackendLaravelEloquentSQL TL;DR Используйте EXISTS при проверке наличия записей в SQL вместо COUNT. EXISTS гораздо эффективнее и выходит из цикла, когда найдена первая запись.BackendLaravel Использование специализированных классов для управления кэшем.BackendPHP В Windows запросы HTTPS, выполняемые с помощью расширения Curl, могут не выполняться, поскольку у Curl нет списка корневых сертификатов для проверки сертификатов сервера. Рассмотрим безопасные и эффективные решения, а также обратим внимание на плохие советы, которые могут сделать PHP-приложения небезопасными.BackendLaravel Есть разница между тем, что в Laravel называют фасадами и псевдонимами классов. Давайте рассмотрим, чем они отличаются друг от друга и как они стали так тесно переплетаться в глазах общественности.BackendLaravel В рамках упрощения структуры приложений в Laravel 11 методы Request Authorization и Validation больше не доступны в контроллере — вот как их вернуть.BackendPHP Расширение PHP OpenSSL предоставляет функции шифрования, аутентификации, обмена ключами, хэширования паролей и общего хэширования в PHP. Расширение OpenSSL использует библиотеку OpenSSL для обеспечения этой функциональности.BackendLaravel В Laravel 11 middleware по умолчанию перенесено в сам фреймворк, а конфигурация передаётся через класс bootstrap/app.php.BackendPHP PHP поддерживает объявление типов для параметров функций, возвращаемых значений, свойств классов, констант классов и Enum. Будучи динамически типизированным языком и языком с десятилетиями истории, за прошедшие годы PHP получил ряд улучшений и возможностей.BackendPHP Может быть множество причин, по которым необходимо добавить текст поверх существующего изображения. Для меня основной причиной было добавление заголовка статьи поверх фонового изображения "шаблона" для создания SEO-изображений.BackendPHP Прекратите использовать приёмы микрооптимизации в PHP, жертвуя читабельностью кода ради мнимого повышения производительности. Более того, перестаньте учить этим трюкам новичков. В этом нет никакого смысла.BackendPHP В PHP 8.4 функция curl_version
возвращает дополнительный ключ массива feature_list
, содержащий массив функций Curl и информацию о том, поддерживаются они или нет.BackendPHP В PHP 8.4 расширение mbstring добавило функции mb_ucfirst и mb_lcfirst в качестве многобайтовых безопасных альтернатив функциям ucfirst и lcfirst.BackendLaravel Ознакомьтесь с методом "ensure" и узнайте, как с его помощью проверить, что в Коллекциях Laravel существуют элементы только заданного типа данных.BackendPHP В PHP 8.4 добавлены две новые функции http_get_last_response_headers
и http_clear_last_response_headers
, которые можно использовать для получения и очистки HTTP-заголовков последнего ответа HTTP-обёртки, что может заменить историческую переменную $http_response_header
.BackendPHP Обновление PCRE2 в PHP 8.4 содержит ряд изменений, которые могут быть несовместимы с существующими регулярными выражениями или несовместимы с другими версиями движков регулярных выражений.BackendLaravel Мы стараемся документировать все возможные изменения. Поскольку некоторые из изменений находятся в малоизвестных частях фреймворка, только часть из них может реально повлиять на ваше приложение. Хотите сэкономить время? Используйте Laravel Shift для автоматизации обновления приложений.BackendLaravel Познакомьтесь с ключевыми стратегиями повышения производительности Laravel-приложений, включая кэширование, эффективное кодирование и оптимизацию баз данных.BackendPHP PHP 8.4: Новости и изменения. PHP 8.4 — это активная ветвь разработки, в которую в настоящее время добавляются новые функции, основные изменения и новые RFC. Релиз запланирован на год.BackendPHP Расширение Curl предоставляет функциональность libcurl в PHP. Хотя расширение Curl можно скомпилировать с любой поддерживаемой версией libcurl, расширение требует определённую минимальную версию libcurl. Это позволяет расширению гарантировать, что определённая функциональность и API всегда будут доступны.BackendPHP В PHP 8.4 добавлена новая функция request_parse_body
, раскрывающая встроенную в PHP функциональность парсинга HTTP-запросов отличных от POST.BackendPHP Расширения oci8 и pdo_oci8 предоставляют функциональность для использования баз данных Oracle в PHP. Эти расширения опираются на проприетарные библиотеки от коммерческого производителя Oracle.BackendPHP Расширение IMAP в PHP предоставляет функциональность для работы с почтовыми ящиками по протоколу IMAP. Базовая библиотека C, от которой зависит расширение, не получала обновлений с 2018 года.BackendPHP Расширение Pspell предоставляет возможности проверки правописания в PHP с помощью Pspell или Aspell. Зависимости этого расширения не получали обновлений в течение последних нескольких лет, и расширение Pspell было перенесено из ядра PHP в расширение PECL в PHP 8.4.BackendPHP Константа CURLOPT_BINARYTRANSFER
, предоставляемая расширением Curl, в PHP 8.4 объявлена устаревшей. Эта константа не имела эффекта начиная с версии PHP 5.1.2. Уже давно назрела необходимость её удаления.BackendPHP Функция round() округляет значение float до ближайшего целого числа или десятичного значения заданной точности. Она поддерживает тонкую настройку метода округления с помощью дополнительного параметра.BackendPHP В PHP 8.0 была добавлена поддержка компиляции Just-In-Time. По умолчанию JIT отключена, и есть два переключателя, opcache.jit и opcache.jit_buffer_size, контролирующие режим основной функциональности PHP и размер буфера, разрешённый для использования JIT.BackendPHP PHP 8.4: Тип значения констант PHP_ZTS и PHP_DEBUG изменён с int на bool.BackendPHP В PHP 8.4 изменён параметр стоимости bcrypt по умолчанию встроенного в PHP API хеширования паролей.BackendPHP Классы DateTime и DateTimeImmutable в PHP 8.4 и более поздних версиях поддерживают методы getMicroseconds и setMicroseconds для получения и установки количества микросекунд в объектах DateTime/DateTimeImmutable.BackendPHP Функция round() округляет значение float до ближайшего целого числа или десятичного значения заданной точности. Она поддерживает различные режимы округления, а в PHP 8.4 добавлены четыре новых метода округления.BackendPHP Классы DateTime и DateTimeImmutable в PHP 8.4 получили новый метод createFromTimeStamp, создающий экземпляр из заданной временной метки UNIX в виде целого числа или числа с плавающей точкой.BackendPHP В PHP 8.4 добавлены эквиваленты функции mb_
для существующих функций trim
, ltrim
и rtrim
.BackendPHP phpinfo() в PHP 8.4 показывает размер целого числа, поддерживаемого текущей установкой PHP, в битах.BackendPHP Операции конкатенации строк в PHP: 5 способов склеивания строк! Оператор конкатенации .
, интерполяция строк, короткое присваивание, implode()
и str_replace()
BackendPHP Релиз PHP 8.4 запланирован 21 ноября 2024 года. Давайте рассмотрим новые функции и изменения.BackendLaravel Привет, веб-разработчики! Недавно появились новости о Laravel 11, и о новых возможностях, с которыми определённо стоит пообщаться. Если вы увлекаетесь Laravel так же, как и я, наверняка не терпится узнать, что нового появилось и как это облегчит жизнь. Так что давайте погрузимся в тему. И да, сделаем это в непринуждённой манере с большим количеством примеров кода, чтобы было понятно и весело.BackendLaravel Узнайте, как проверять входящие данные в приложениях Laravel, начиная с основ и заканчивая более сложными концепциями.BackendLaravel Узнайте, как легко управлять валидацией массива в Laravel, для обеспечения целостности данных в ваших веб-приложениях.BackendLaravel В этой статье мы будем привязывать Google Events к Google Календарям. Давайте рассмотрим, какие параметры нужно отправлять и что они означают.BackendLaravel В этой статье мы рассмотрим, как синхронизировать Google Календари с Laravel приложением, основные параметры для получения API-ресурсов. Создадим и оптимизируем код.BackendLaravel Узнайте о решениях проблемы "Vite manifest not found" в Laravel, включающих установку, настройку среды, очистку кэша и управление ресурсами.BackendSymfony В течение последних недель мы обновляли сайты Symfony, такие, как symfony.com, live.symfony.com и certification.symfony.com, на использование AssetMapper вместо Webpack Encore. В этой статье мы расскажем о том, как это было реализовано.BackendLaravelEloquent Да, вы всё правильно поняли. Нетерпеливая загрузка (Eager loading) может быть вредной, очень вредной. Однако мы часто прибегаем к ней, когда имеем дело со сценарием N+1, думая, что решили проблему, а на самом деле, возможно, сделали её ещё хуже. Каким образом? Давайте посмотрим.BackendSymfony Конфигурация Symfony — одно из тех изменений, которые трудно заметить, пока они не будут удалены в следующей мажорной версии. Тогда приходится гуглить "сообщение об ошибке invalid option id" и надеяться на решение. Не самый лучший способ провести выходные, не так ли?BackendLaravel Использование метода __construct()
для инъекции зависимостей в командах Laravel Artisan может привести к неожиданным последствиям.BackendSymfonySecurity Начиная знакомство с Symfony, часто приходится следовать документации, не всегда понимая значение тех или иных механизмов. В этом контексте стоит поближе рассмотреть токены CSRF, которые на первый взгляд могут показаться дополнительным усложнением, но их роль крайне важна для безопасности приложения. В этой статье я расскажу, почему CSRF-токен так важен, и проиллюстрирую это на примере популярной социальной сети, которая столкнулась с проблемами безопасности из-за недостаточной проверки этих токенов.BackendLaravelEloquent Свойство $fillable
в моделях Eloquent может оказаться разумным местом для размещения логики валидации. В конце концов, учитывая, что этот список является практически частью валидации, было бы расточительно не использовать ту же структуру для определения правил соответственно.BackendPHP Рекурсивная функция — это функция, вызывающая саму себя для решения задачи. Этот тип функций часто используется в ситуациях, когда задачу можно разбить на более мелкие, похожие, но всё же более мелкие задачи. Функция продолжает вызывать себя с изменёнными аргументами до тех пор, пока не будет достигнут базовый случай, после чего функция перестаёт вызывать себя и начинает возвращать значения. Итак, все ли рекурсивные функции в PHP нам известны?BackendLaravel Узнайте как создавать и тестировать команды для взаимодействия с Laravel приложением и сервером. Откройте для себя новые советы и рекомендации по написанию команд Artisan, а также по использованию фасада Process в Laravel 10.BackendLaravel Узнайте, как автоматически хэшировать конфиденциальные данные (например, пароли) с помощью каста "hashed" модели Laravel. Также рассмотрим, как проверить правильность хэширования поля.BackendPHP Как эффективно использовать интерфейсы, чтобы сделать PHP-пакет более удобным в работе и более настраиваемым, чем когда-либо прежде.BackendLaravelEloquent Инъекция зависимостей в Laravel — сложная тема, и в основном она используется для сторонних пакетов и некоторых внутренних компонентов. Вы можете использовать её и в своём приложении, но, на мой взгляд, она часто усложняет код больше, чем стоит, и значительно затрудняет отладку.BackendLaravel В Laravel, если мы хотим, вычислить значение БД на лету, мы часто используем мутаторы. Но мы можем делать это на уровне базы данных с помощью генерируемых виртуальных/хранимых столбцов.BackendLaravel Мне кажется, что это изменение в Laravel 11 потребует гораздо больше неявных знаний о встроенном middleware. Имеет ли это значение? Скорее всего, нет. Но это изменение увеличивает кривую обучения.BackendLaravelSecurity Что это за вредоносная программа, нацеленная на Laravel, и стоит ли вам беспокоиться о своих приложениях?BackendPHP Как убрать за собой в PHP : используйте register_shutdown_function
, __destruct
и try-catch-finally
, чтобы убедиться, что уборка выполняется всегдаBackendSymfony В этой статье мы рассмотрим различные способы установки и использования php-cs-fixer. Мы увидим, что всё не так очевидно, как кажется. Поехали! 😎BackendLaravel Как создать в Laravel команды, выполняющиеся только в том случае, если они ещё не запущены в другом процессе.BackendPHP compact()
и extract()
— две классические функции PHP: давайте рассмотрим, как они используются сейчас и как их можно модернизировать.BackendLaravel Узнайте, как PHP-пакет spatie/temporary-directory упрощает работу с путями временных файлов в Laravel и других PHP-проектах.BackendPHP Как бы полезно это ни звучало, но nl2br()
может оставить вас уязвимым для межсайтового скриптинга (XSS)… Вместо него лучше использовать CSS!BackendPHPSecurity Random генерирует криптографически защищённые случайные значения в различных форматах с помощью простого PHP пакета.BackendSymfony Несмотря на то, что я большой поклонник Symfony, я считаю, что для больших приложений стандартная структура каталогов оставляет желать лучшего.BackendLaravel Хелпер fake() в Laravel — это мощный инструмент для генерации фиктивных данных. Узнайте, как использовать его для заполнения баз данных и прототипов.BackendPHP Null-safe оператор был добавлен в PHP 8.1: это новый объектный оператор, предотвращающий фатальную ошибку и последующую остановку выполнения при вызове метода или свойства со значением null
. Он имеет большую привлекательность, поскольку называется "безопасным" и сокращает количество проверок перед вызовом метода. Однако на практике у оператора nullsafe есть и свои недостатки.BackendLaravel Laravel предлагает элегантную возможность вызова методов под названием Facades. На первый взгляд, они напоминают статические методы, но это не так! Что за магию творит Laravel?BackendLaravel Я работал с Laravel и Docker с 2016 по 2022 год. В течение всех этих лет у меня была небольшая проблема, связанная с переменными среды.BackendPHP Как осуществить плавную миграцию от массива к объекту в PHP: используя динамический синтаксис PHP, общий для массивов и объектовBackendSymfonySecurity Подделка межсайтовых запросов (CSRF) - одна из традиционных уязвимостей, с которыми приходится сталкиваться веб-приложениям. Все веб-фреймворки, включая Symfony, поддерживают защиту от CSRF из коробки. Менее известной уязвимостью является Login CSRF, особый вид CSRF-атаки.BackendLaravel Вы можете легко ориентироваться в версиях API Laravel с помощью Версионирования URI, обеспечивая последовательную и надёжную интеграцию даже по мере развития приложения.BackendLaravelSecurity Не раз и не два мы сталкивались с печально известным исключением 'Token Mismatch' в Laravel. Но, бедняга просто заботится о вас, пытаясь защитить от зла 😈, давайте посмотрим...BackendLaravelSecurity [Совет#64] Знаете ли вы разницу между e()
, htmlspecialchars()
и htmlentities()
? Можно ли просто использовать e()
для всего?BackendLaravelEloquentDatabase Вы наверняка слышали, что полагаться на то, что ключи массива сохраняют определённый порядок, опасно. В спецификации JSON эти пары ключ/значение даже определяются как "неупорядоченные". Но, возможно, на практике вы никогда не сталкивались с ситуацией, когда порядок изменялся по сравнению с тем, что вы ожидали.BackendPHP В предыдущей статье мы рассмотрели возможности Value Objects в повышении качества кода, надёжности системы и минимизации необходимости обширной валидации. Теперь давайте погрузимся глубже, чтобы улучшить понимание и использование этого важнейшего инструмента.BackendPHP В мире программирования поддержание чистоты и надёжности кода имеет большое значение. Паттерн Value Objects способен значительно улучшить качество вашего кода, сделав его более надёжным и удобным для сопровождения.BackendPHP AEGIS — это семейство алгоритмов аутентифицированного шифрования на основе AES, которое быстрее, чем AES-GCM. Расширение Sodium в PHP 8.4 поддерживает алгоритмы шифрования AEGIS-128L и AEGIS256, если расширение Sodium скомпилировано с libsodium 1.0.19 или более поздней версии.BackendPHP Расширение Sodium в PHP 8.4 теперь поддерживает шифры аутентифицированного шифрования AEGIS-128L и AEGIS256. Они значительно быстрее, чем AES-GCM и CHACHA20-POLY1305. В этой статье мы сравним их и объясним, как безопасно шифровать и расшифровывать данные с помощью AEGIS-128L и AEGIS256 на PHP.BackendLaravel Обработка исключений — важнейший аспект разработки веб-приложений, гарантирующий, что ваше приложение сможет изящно справиться с неожиданными ошибками и предоставить пользователям содержательные ответы. Laravel поставляется с надёжной системой обработки исключений, которая позволит вам эффективно справляться с ошибками. В этой статье мы рассмотрим основы обработки исключений в Laravel, а также ключевые концепции.BackendLaravelEloquent Я работаю с Eloquent уже более пяти лет, и пришло время поделиться своим очередным багажом трюков. Вы гарантированно узнаете что-то новое!BackendLaravel При использовании кэширования обещание значительного повышения производительности должно быть сопоставлено с его стоимостью, связанной со сложностью и инфраструктурой. Давайте обсудим доступные варианты, чтобы вы могли использовать наилучшую реализацию для любой ситуации.BackendPHPSecurity PHP включает несколько очень удобных функций, ориентированных на безопасность, но вы должны знать, как правильно их использовать, иначе рискуете оставить значительную уязвимость, ожидающую своего применения!BackendLaravel Добавление второго сервера к вашему приложению может стать отличным способом улучшить его производительность и/или повысить надёжность. Однако при добавлении второго сервера необходимо учитывать несколько моментов.BackendLaravel В Laravel появился новый класс Number, предоставляющий несколько новых хелперов для форматирования чисел.BackendLaravel В PHP есть множество встроенных констант. Некоторые из них полезны при работе с файлами, а некоторые — с целыми числами. Но все они имеют одну общую черту — все они доступны глобально. В этой небольшой статье мы рассмотрим типичные примеры и случаи использования констант в Laravel.BackendPHPTesting Абстрактные классы не могут быть инстанцированы напрямую, что создаёт проблему при тестировании функциональности, реализованной в самом абстрактном классе. В этой статье я поделюсь своим подходом к решению этой проблемы.BackendPHPComposer Сценарии Composer — это очень удобный способ определения команд, которые вы часто используете. Например, у нас есть скрипты composer для запуска тестов, проверки стиля кодирования или обновления хелперов IDE.BackendLaravel В PHP 8 появились атрибуты, которые являются довольно впечатляющими и мощными. В этой статье мы будем использовать их для включения и выключения маршрутов Laravel, насколько это круто?BackendLaravelEloquentTesting Если все сделать правильно, ваши тесты будет намного легче поддерживатьBackendSymfony Symfony 6.4 включает новую функцию Profiler, позволяющую исследовать определения рабочих процессов и отображать их в виде визуальной диаграммы.BackendLaravelEloquentTesting Почему использование свойства $seed
лучше ручного заполнения базы данных? Просто ли это избавление от необходимости писать несколько строк кода?BackendLaravelEloquentTesting Этот совет продолжает начатую вчера тему, связанную с проверкой строгости Eloquent.BackendSymfony В Symfony 6.4 добавлено множество функций для улучшения DX (опыта разработчиков): добавление серверных параметров при клике по ссылкам, определение атрибутов краулера по умолчанию и т.д.BackendLaravelEloquent Я большой поклонник нового "strict mode" для моделей Laravel. Одна из вещей, которую он помогает отловить, — это ужасный запрос "N+1", вызывающий проблемы с производительностью в продакшене.BackendLaravel Раскройте весь потенциал вспомогательных строковых хелперов в Laravel 10 с помощью 10 советов по оптимизации в 2023 году.BackendSymfony AssetMapper в Symfony 6.4 содержит огромное количество новых функций: загрузка локальных вендоров, поддержка CSS, более интеллектуальная предзагрузка и многое другое.BackendSymfony В Symfony 6.4 реализована поддержка числовых кодов ISO 3166-1, улучшено ограничение Type, повышена точность форматирования временных сообщений, улучшена работа утилит фильтрации FinderBackendLaravel Как настроить локальную среду разработки для тестирования классов или утилит пакета в рамках локального проекта Laravel.PHPBackend PHP 8.3 вышел 23 ноября 2023 года, и, как обычно, вам нужно быть в курсе новых функций и критических изменений, чтобы упростить переход.BackendPHP Команда PHP выпустила PHP 8.3, в котором появились типизированные константы классов, функция json_validate()
, динамическое получение константы класса, атрибут #[Override]
и многое другое.BackendLaravel Предотвращение повторных отправок форм и диспетчеризации заданий с помощью атомарных блокировок Laravel.BackendSymfony В Symfony 6.4 добавлено разрешение бейджей безопасности в профилировщике, более безопасные логи безопасности и возможность раздельного определения нескольких паттернов в брандмауэрах безопасности.BackendLaravel Если мы не знаем, как что-то работает, то ещё больше запутываемся, когда что-то ведёт себя не так, как ожидалось.BackendLaravelSecurity [Совет #62] Поисковые системы любят просматривать все ваши файлы, поэтому будьте внимательны к тому, что вы оставляете на видном месте.BackendSymfony В Symfony 6.4 добавлено 12 новых интеграций со сторонними сервисами в компоненты Mailer
, Translation
, Notifier
, Webhook
и RemoteEvent
.BackendSymfony DatePoint
является полноценной заменой классов даты/времени PHP, предоставляющей множество утилит, полную интеграцию с компонентом Clock
и улучшенную обработку ошибок.BackendSymfony В Symfony 6.4 вводится новый атрибут AutowireLocator, позволяющий определять локаторы сервисов с помощью PHP атрибутов, а не конфигурационных файлов.BackendLaravelEloquent Я работаю с Eloquent уже более пяти лет, и пришло время поделиться своим опытом. Пристегните ремни, это будет хорошая поездка!BackendSymfony В Symfony 6.4 добавлены новые возможности в Serializer, такие, как групповые атрибуты на основе классов, нормализация объектов Translatable и детализация ошибок декодирования JSON.BackendLaravel Laravel htmx — это пакет Maurizio Bonani, позволяющий работать с библиотекой htmx. Эта библиотека позволяет получать доступ к современным функциям браузера непосредственно из HTML, а не с помощью JavaScript:BackendLaravel На прошлой неделе я написал в твиттере о том, как выглядят контроллеры в моих приложениях и как я вообще к ним отношусь. Этот твит быстро стал вирусным и привлёк к себе много внимания, но, к сожалению, не по тем причинам. Поэтому в этой статье я хотел бы пролить свет на то, к чему я стремился, и объяснить, каким должен быть (UI) контроллер в целом.BackendLaravel В этой статье мы поговорим о функции, используемой каждым Laravel разработчиком — dd()
. Я покажу различные творческие способы использования dd()
в наших приложениях.BackendSymfony В Symfony 6.4 добавлены новые обработчики Messenger, позволяющие запускать процессы, команды и пинговать URL-адреса.BackendSymfony В Symfony 6.4 реализованы некоторые улучшения, связанные с локалями, такие, как установка локали при отображении содержимого электронной почты и доступ к списку включённых локалей из шаблонов.BackendSymfony В Symfony 6.4 добавлены новые тестовые утверждения, связанные с селекторами CSS, компонентом HttpClient и темами электронной почты.BackendLaravel Определение чистого кода субъективно. Оно часто становится источником горячих споров между разработчиками в Интернете. В этой статье мы рассмотрим возможности Laravel, позволяющие писать меньше кода.BackendLaravel Кодирование — это весело. А вот отладка? …Не очень. Именно поэтому тестирование имеет решающее значение для успеха любого нетривиального проекта. В этой статье я покажу как легко начать тестировать свои Laravel приложения. Давайте растопим лёд раз и навсегда!BackendSymfony В Symfony 6.4 добавлена поддержка переменной среды APP_BUILD_DIR
и обновлены подогреватели кэша для получения параметра build_dir
.BackendLaravelEloquent Вот несколько советов и приёмов, которые я узнал на своём пути, помогающих оптимизировать запросы к базе данных в Laravel. Иногда небольшие изменения могут быть очень существенными.BackendSymfony В Symfony 6.4 улучшена функция выхода из системы, что избавляет от необходимости явно определять маршруты выхода из системы в своих приложениях.BackendSymfony В Symfony 6.4 представлен DatePoint, заменяющий PHP-классы даты/времени, предоставляющий множество утилит, полную интеграцию с компонентом `Clock` и улучшенную обработку ошибок.BackendLaravel Одной из интересных особенностей Laravel Nova является возможность выдавать себя за пользователя прямо из панели управления. Это удобно по многим причинам, но я считаю, что когда вы получаете сообщение об ошибке или проблеме и хотите увидеть, что именно видит пользователь, выдача себя за него экономит массу времени, поскольку вы можете увидеть именно то, что видит пользователь.BackendLaravel События в Laravel — это полезное удобство программирования, позволяющее разработчику оповещать, что в программе произошло нечто значимое.BackendSymfony В Symfony 6.4 можно применить атрибут контекста сериализатора ко всему классу, чтобы определить общую конфигурацию контекста для всех свойств класса.BackendSymfony В Symfony 6.4 появились новые функции Twig для генерации относительных/абсолютных URL, необходимых для имперсонации пользователей.BackendSymfony В приложениях Symfony система маршрутизации требует, чтобы каждый маршрут имел имя, которое представляет собой произвольную строку, однозначно идентифицирующую маршрут. В дальнейшем это имя используется, например, при генерации URL-адресов на основе определений маршрутов.BackendLaravelEloquent В веб-приложениях могут возникать ситуации, когда необходимо разрешить пользователям удалять данные без их окончательного удаления из базы данных. Например, можно разрешить администратору удалить учётную запись другого пользователя, но при этом сохранить его данные в базе данных на случай ошибки администратора. Это позволит администратору при необходимости восстановить удалённую учётную запись. Именно в этом случае полезно мягкое удаление — soft delete.BackendSymfony В Symfony 6.4 реализована новая возможность запуска подпроцессов с той же конфигурацией, что и их родительские PHP-процессы.BackendSymfony Такие браузеры, как Google Chrome, постепенно откажутся от поддержки сторонних файлов cookie, начиная с середины 2024 года. Альтернатива называется CHIPS, что является аббревиатурой "Cookies Having Independent Partitioned State".BackendSymfony Symfony 6.4 включает новый профилировщик команд, позволяющий собирать информацию о выполняемых командах в процессе их выполнения, чтобы впоследствии можно было отладить возникшие проблемы.BackendPHP Value Objects/Объекты Значения — это фантастическая концепция, которую мы можем использовать для улучшения наших приложений. Они представляют собой небольшие объекты, такие как Money, DateRange, Email или Age, которые мы используем в сложных приложениях. Они являются ключевыми элементами при создании эффективного, понятного и сопровождаемого кода.BackendPHP В последнее время в сообществе PHP разработчиков ведутся дебаты о преимуществах и недостатках Композиции и Наследования. В мире объектно-ориентированного программирования (ООП) существует множество мощных инструментов и концепций, каждая из которых имеет свои сильные и слабые стороны и призвана улучшить читаемость, модульность и возможность повторного использования кода.BackendPHP Массивы — удобный способ организации и передачи данных в PHP-приложениях, но стоит ли это делать? В этой статье я расскажу о минусах злоупотребления использованием ассоциативных массивов и покажу простую альтернативу этому.BackendPHP Недавно мне пришлось решать задачи, требующие знания сырых
функций PHP, таких, как итерация файлов и каталогов. По мере развития все более высоких уровней абстракции мы часто перестаём помнить, как работать на низком уровне. В реальности это имеет множество последствий, особенно с точки зрения производительности.BackendPHP Обход, фильтрация и манипулирование данными с помощью итераторов в PHP. Как создавать пользовательские итераторы и фильтры.BackendPHP Включите режим строгой типизации в PHP с помощью declare(strict_types=1). Разберём его последствия на примерах кода.BackendLaravel В Laravel валидация форм является ключевым моментом для обеспечения безопасности и точности пользовательских данных. Компонент FormRequest упрощает эту задачу, поскольку правила валидации хранятся в специальном классе, а не в контроллере. Это также делает код более аккуратным и позволяет использовать специальные функции, связанные с запросом, такие как получение модели или изменение типа данных в поле.BackendPHPComposer Менеджер зависимостей Composer является де-факто способом управления зависимостями в PHP-проектах. Вся современная PHP-разработка немыслима без Composer. Но знаете ли вы, что с помощью Composer можно делать многое, кроме установки и обновления зависимостей?BackendLaravelEloquent В Laravel фабрики играют важную роль в генерации данных для моделей.BackendPHP Тип null является единичным типом PHP, т.е. имеет только одно значение: null. В этой статье мы рассмотрим все способы работы со значениями null в PHP.BackendLaravel Если вы только начали работать с UUID, то может возникнуть немало вопросов о них. Мы постараемся ответить на наиболее распространённые из них.BackendLaravelEloquent Мягкое удаление записей в Laravel позволяет помечать записи как "удалённые", а не удалять их из базы данных навсегда. Это может быть невероятно полезно при работе с информацией, которую в будущем может потребоваться восстановить. К счастью, Laravel поставляется со встроенной функцией soft delete!BackendPHP Генераторы в PHP позволяют конструировать итераторы без необходимости создания всего массива. Это позволяет значительно сократить потребление памяти.BackendLaravel Laravel предлагает встроенный метод отправки электронной почты из вашего приложения с помощью фасада Mail. Этот метод требует подключения внешнего почтового сервера, например SMTP-сервера Gmail, который мы будем использовать в данной статье.BackendLaravelEloquent В Laravel очень мощный конструктор запросов. Он предлагает богатый набор методов, позволяющих легко и просто писать SQL-запросы.BackendLaravel Как использовать несколько баз данных в проекте Laravel и управлять разделёнными записями в базе данных.BackendLaravel Свежий релиз Laravel Sail включает поддержку Bun, быстрой универсальной среды выполнения JavaScript. Узнайте, как начать использовать Bun в своих проектах Laravel уже сегодня.BackendPHPFrontendJavaScript Насладитесь быстрым процессом создания зависимостей front-end в ваших PHP-проектах благодаря возможностям управления пакетами Bun.BackendLaravelEloquent Если вы хотите избежать хранения конфиденциальных данных БД (например, номеров паспортов) в виде обычного текста, Laravel может зашифровать их в Моделях Eloquent, просто присвоив им значение encrypted
. Давайте посмотрим, как это работает.BackendLaravel Если вы попытаетесь использовать Livewire 3 со стартовым набором Laravel Breeze, то можете заметить, что ваши компоненты не реагируют на реакцию, а некоторые функции Livewire просто не работают. Причиной может быть Alpine.js, который загружается дважды. Сейчас я покажу вам, как это исправить.BackendLaravelEloquent В Laravel после вставки данных в таблицу базы данных может потребоваться получить ID последней вставленной после создания записи. Этот идентификатор необходим для решения различных задач, таких как перенаправление пользователей на вновь созданный ресурс или выполнение дальнейших операций.BackendLaravel Овладейте искусством создания RESTful API с Laravel благодаря этим лучшим практикам.BackendLaravel В Laravel v10.20 появился совершенно новый метод createOrFirst()
, созданный Tony Messias, который может вызвать некоторое недоумение, поскольку в Laravel уже был метод firstOrCreate()
. В чем же заключаются различия? Зачем нам нужны два метода? Давайте посмотрим...BackendLaravel Паттерн Pending Object играет ключевую роль в Laravel, поскольку используется практически во всех его аспектах. Он обеспечивает исключительный опыт разработчика (DX).BackendPHP Сериализация — это процесс, в котором принимается часть данных и создаётся хранимое или переносимое представление этих данных.BackendLaravelEloquent Sushi — это недостающий драйвер массивов
Eloquent, поскольку иногда хочется использовать Eloquent без работы с базой данных.BackendPHP Погрузитесь в это увлекательное руководство по рефакторингу фрагмента кода с использованием функции max
в PHP.BackendLaravel Laravel 11 будет выпущен 12 марта 2024 года. Его разработка продолжается до сих пор. Давайте рассмотрим все значимые новые возможности, о которых мы уже знаем.BackendLaravel Обеспечение безопасности приложения Laravel: защита конфиденциальных файлов, обновление пакетов и Laravel, использование политик, проверка вводимых данных и многое другое.BackendLaravel Хеширование и шифрование — важнейшие концепции безопасности, о которых должен знать каждый веб-разработчик. В этой статье мы рассмотрим, что такое хеширование и шифрование, в чем разница между ними и как их использовать в своих приложениях Laravel.BackendLaravel Иногда требуется добавить данные в Request или изменить их перед валидацией. В Laravel для этого есть несколько трюков — метод merge()
.BackendLaravel Узнайте, как можно использовать WebSockets и Pusher для добавления функциональности реального времени в приложения Laravel.BackendLaravel Недавно Тейлор выложил бета-версию Laravel Folio на YouTube в видеоролике с ключевой конференции Laracon. В настоящее время документация состоит только из файла readme, что отражает простоту пакета. Благодаря своей простоте мы можем легко догадаться о его внутреннем устройстве. Я решил углубиться в эту тему, и в этой статье мы отправимся на поиски его внутренних механизмов.BackendPHP PHP предоставляет функции parse_ini_string
и parse_ini_file
, которые повторно используют встроенный в PHP синтаксический анализатор, применяемый для собственных конфигурационных файлов PHP на основе INI.BackendLaravelEloquent Как очистить базу данных удалив ненужные данные с помощью встроенной функции Laravel для повышения производительности запросовBackendPHP PHP-функция class_alias()
может создавать псевдоним для заданного класса. Псевдоним ведёт себя точно так же, как и оригинальный класс.BackendPHP В CLI PHP предусмотрена функция линтинга, которая проверяет переданное имя файла на наличие синтаксических ошибок. Это удобно для быстрой проверки PHP-файла или фрагмента перед выполнением.BackendPHP PHP поддерживает замену значений PHP INI на переменные окружения с помощью синтаксиса строковой интерполяции PHP. Если указанная переменная окружения недоступна, парсер INI использует пустую строку. В PHP 8.3 этот синтаксис расширен для поддержки объявления запасного/fallback значения, если переменная окружения не установлена.BackendLaravel В Laravel валидация возвращает ошибку в виде JSON-ответа с сообщениями об ошибке в строгом стандартном формате. Что делать, если вы хотите изменить его на совершенно другую структуру, потому что ваши фронтендеры запрашивают определённые пары ключ-значение?BackendLaravel В этом руководстве мы познакомимся с основами Livewire 3, Volt и Folio и создадим простое приложение, в котором будут отображаться эпизоды подкаста Laravel News.BackendLaravel Если на сайте представлены документы с большим объёмом текста, например, PDF-файлы, то часто возникает необходимость предоставить пользователям возможность перечисления и поиска в содержимом этих документов.BackendLaravel Одним из удобных способов информирования пользователей о ваших материалах является создание RSS-канала. Это позволит им подписываться на него с помощью программы чтения RSS. Усилия, затраченные на реализацию этой функции, стоят того, чтобы принять во внимание, поскольку у сайта появится ещё один канал распространения контента.BackendLaravelTesting Узнайте, как тестировать правила валидации Laravel с помощью Pest PHP.BackendLaravel Выпуск Laravel 11 запланирован на 12 марта 2024 года, но давайте рассмотрим некоторые из анонсированных новых возможностей.BackendLaravel В этой статье мы покажем вам четыре способа включения файла CSS в проект Laravel, включая прямое подключение из каталога /public, URL CDN, использование Vite и Laravel Mix.BackendLaravel Как легко предотвратить уязвимые действия в вашем Laravel приложении.BackendLaravel Laravel Folio — новая система автоматической маршрутизации на основе файлов и каталогов. В результате вы получаете каталог страниц; когда на одну из этих страниц попадает URL, она автоматически загружается.BackendLaravel Laravel предоставляет способ аннулирования и выхода
из сеансов активного пользователя на других устройствах без аннулирования сеанса на текущем устройстве.BackendLaravel Использование CSRF-токенов добавляет дополнительный уровень безопасности, подтверждая, что запрос исходит от того же приложения, а не от вредоносного источника. Laravel обеспечивает встроенную защиту от CSRF-атак путём генерации и проверки CSRF-токенов.BackendLaravelEloquent Хранение данных JSON в базе данных Laravel обеспечивает гибкое решение для управления динамическими атрибутами или неструктурированными данными.BackendLaravelEloquent Отношения One-to-Many
— это наиболее распространённый тип отношений, используемый в Laravel Eloquent и ORM в целом.BackendSymfony Symfony 6.4 и Symfony 7.0 будут выпущены одновременно в конце ноября 2023 года. В этой статье рассказывается об их различиях и о том, как выбрать оптимальную версию для своих проектов.BackendLaravel Калеб Порцио, выступая на конференции Laracon, только что выпустил официальную бета-версию Livewire v3! В своём выступлении он продемонстрировал множество новых возможностей, некоторые из которых мы рассмотрим здесь.BackendLaravel В этом руководстве вы узнаете, как использовать фасад Laravel Process, построенный на основе высокоэффективного компонента Symfony Process, для выполнения команд вне среды Laravel.BackendLaravel Из этого руководства вы узнаете, как использовать возможности Laravel CORS. Узнайте, что это такое, и раскройте его потенциал для беспрепятственного совместного использования ресурсов из разных источников.BackendLaravel В этой статье вы узнаете о некоторых важных возможностях, которые появятся в Laravel Livewire v3.BackendPHP PHP постоянно развивается, и важно быть в курсе последних функций и улучшений. В этой статье представлены 20 функций PHP, которые вы должны знать в 2023 году, каждая из которых проиллюстрирована удобным примером кода.BackendLaravel Одна из типичных проблем с пагинацией возникает, если у вас на странице есть несколько фильтров с GET-параметрами. Как сделать так, чтобы они не исчезали, когда пользователь переходит на страницу /?page=2?
BackendPHP Давайте улучшим ваш код с помощью более безопасного способа программирования с использованием перечислений PHP, или enum. В этой статье вы узнаете о них всё, что нужно.BackendLaravel Когда речь идёт об аутентификации в Laravel, существует множество вариантов. Но что использовать, когда речь идёт об аутентификации вашего API?BackendPHP Давайте создадим крошечный движок шаблонов для PHP! Эта статья будет посвящена рендерингу шаблона и отображению данных, которые можно экранировать с помощью htmlspecialchars()
.BackendLaravel Для переноса легаси PHP приложения на Laravel, вероятно, потребуется кастомный драйвер хэширования.BackendLaravel Итак, чуть более двух лет назад я написал руководство о том, как работать со сторонними сервисами в Laravel. На сегодня это самая посещаемая страниц на моём сайте. Однако за последние два года всё изменилось, и я решил снова обратиться к этой теме.BackendLaravel Мы, как программисты, должны уметь разбивать большие и сложные задачи на более мелкие и простые в управлении фрагменты. Однако иногда оказывается, что с некоторыми из тех небольших повторяющихся фрагментов кода, которые мы извлекли, чтобы уменьшить дублирование (или по какой-то другой причине), приходится взаимодействовать по-разному в зависимости от некоторого внешнего контекста.BackendLaravel При разработке в Laravel обращение к значениям конфигурации и конфиденциальной информации из файла .env — обычное дело. В этой статье мы рассмотрим важность использования вспомогательной функции config()
и почему при чтении значений следует избегать использования вспомогательной функции env()
.BackendLaravel Одной из распространённых проблем при переносе легаси PHP-приложения на Laravel является создание миграции базы данных на основе существующей базы данных.BackendLaravel Laravel стал одним из самых популярных PHP фреймворков благодаря своим обширным функциям, простоте использования и удобочитаемости. Это отличный выбор для веб-разработчиков, стремящихся создавать надёжные и масштабируемые приложения. Если вы всё ещё сомневаетесь, стоит ли делать решительный шаг, вот три веские причины изучить Laravel.BackendLaravel При проверке форм или API запросов иногда правило для одного поля зависит от значений других полей. В этой статье я покажу четыре различных примера синтаксиса Laravel для достижения этой цели.BackendPHP В PHP 8.3 появилась новая функция: атрибут #[Override]
. Эта функция уже известна в других языках, но позвольте мне объяснить, если вы не знаете, что она делает.BackendPHP Изучите основы использования часовых поясов в PHP и как сделать лучший выбор из набора функций предлагаемых PHP.BackendLaravel Добавление пользователя администратора на сайт в продакшене — одна из самых распространённых вещей, которые делаются при первом развёртывание Laravel проекта на сервере. В этой статье я покажу два способа сделать это.BackendPHP В этой мини статье вы узнаете, как создать сервис контейнер для внедрения зависимостей в PHP. Я начну с самого простого контейнера, совместимого с PSR-11, а затем добавлю различные функции, пока у нас не получиться мощный контейнер общего назначения.BackendPHP Давайте разберёмся почему возникает ошибка 'Using $this when not in object context' и как её исправить.BackendLaravel Погрузитесь в историю Laravel. Если вы отдалились от Laravel, это подходящее место, чтобы возобновить своё путешествие.BackendPHP Первый альфа-релиз PHP 8.3 уже отмечен и доступен для загрузки и тестирования.BackendLaravel Middleware не является чем-то новым, мы уже давно используем его для различных целей в наших приложениях, от аутентификации до авторизации и не только.BackendLaravelSecurity В этой статье мы рассмотрим, что такое CSP и что он даёт. Затем рассмотрим, как использовать пакет для добавления CSP в Laravel приложении. Также кратко рассмотрим несколько советов по упрощению добавления CSP в существующее приложение.BackendPHP Файберы представленные в PHP представляют собой элегантный способ имитации параллельной работы. Узнайте больше о том, чем они отличаются от потоков и сопрограмм.BackendSymfony Вышел Symfony 6.3. Как и для любого другого выпуска Symfony, наше обещание обратной совместимости применимо, и это означает, что вы сможете легко обновиться до версии 6.3, ничего не меняя в коде.BackendSymfony Symfony 6.3 включает новый компонент Scheduler тесно интегрирующийся с компонентом Messenger для создания сообщений, которые должны обрабатываться несколько раз по заранее определённому расписанию.BackendLaravel За последний год подход, основанный на action классах, набирает популярность в мире Laravel. Я принял его довольно рано и был большим поклонником этого подхода.BackendLaravel Прочтите о разных подходах, которые можно использовать для получения аутентифицированного пользователя в Laravel проектах. В этой статье рассматривается результат проведённого в Twitter опроса.BackendSymfony Symfony 6.3 обеспечивает полную интеграцию веб-хуков c Mailer и Notifier для абстрагирования от различий в обработке веб-хуков сторонних сервисов.BackendLaravel Laravel — популярный PHP-фреймворк обеспечивающий простой и элегантный способ создания веб-приложений. Одной из особенностей выделяющих Laravel, является его мощная и гибкая система ведения логов/логирование.DevOpsPHPLaravelBackend Если вы запускаете приложения PHP/Laravel в продакшене, есть большая вероятность, что вы используете некоторые из этих вещей:CGI, FastCGI, php-fpm, nginx и Laravel. Как разработчик, я считаю важным понимать хотя бы основы этих компонентов. Итак, давайте разбираться.BackendLaravelSecurity Давайте углубимся и рассмотрим десять наиболее распространённых проблем безопасности, которые я обнаружил во время своих аудитов безопасности Laravel приложений.BackendSymfony Symfony 6.3 включает новый компонент AssetMapper с полной поддержкой карт импорта в качестве альтернативы Webpack Encore.BackendSymfony В Symfony 6.3 улучшен компонент Dependency Injection, добавлена поддержка автоподключения сервисов в виде замыканий и вызываемых методов, генерация адаптеров для функциональных интерфейсов.BackendLaravel Laravel — популярный PHP-фреймворк широко используемый в веб-разработке. Он поставляется со встроенной системой авторизации позволяющей определять контроль доступа для разных пользователей и ролей. Двумя основными компонентами системы авторизации Laravel являются Gate и Policy. В этой статье мы рассмотрим концепцию Gate и Policy Laravel и то, как использовать их для защиты веб-приложений.BackendLaravel Я использовал Google Analytics в течение нескольких лет, и она работала хорошо. Возникает вопрос, зачем я написал свой пакет аналитики.BackendLaravel Как уменьшить количество багов, сделать личную и командную работу более эффективной и улучшить качество кода в целом — Объект-Значение один из подходов для достижения этого.BackendLaravel После профилирования сервис контейнера я узнал, что Laravel приложение создаёт десятки тысяч объектов, которые ему не нужны.BackendLaravel Laravel — это популярный фреймворк, который обеспечивает простой и элегантный способ создания веб-приложений. Одной из особенностей, которая выделяет Laravel, является встроенная система обработки ошибок и исключений. В этой статье мы рассмотрим некоторые советы и рекомендации по эффективной обработке исключений в Laravel.BackendSymfony Symfony 6.3 улучшает ограничение Cascade, позволяя обрезать XML параметры, устанавливать службы в тестовом контейнере и улучшает обработку сигналов Console.BackendPHP Прочтите о разнице между замыканиями и стрелочными функциями в PHP. В этой статье рассказывается, что они из себя представляют, чем отличаются, и как вы можете использовать их в своём коде.BackendSymfony Symfony 6.3 улучшает профилировщик с лучшей доступностью, динамическими иконками и кликабельными путями шаблона.BackendSymfony Symfony 6.3 добавляет новые интеграции Notifier для Twitter, Mastodon, LINE, Pushover, PagerDuty и других.BackendSymfony Symfony 6.3 будет включать улучшения DX, такие, как обнаружение невидимых символов в VarDumper, улучшенный дамп YAML дат, параметры сборки сервис контейнера и потоковые JSON ответы.BackendLaravelSecurity В этой статье я покажу как настроить заголовки Content Security Policy с помощью Laravel и Vite. Предполагается, что у вас есть некоторый опыт работы с Laravel и Vite.BackendPHP Прочитайте о том, как вы можете использовать declare(strict_types=1)
для повышения безопасности типов PHP-кода. Мы обсудим, как сделать код более надёжным и избежать принудительного приведения типов, что может привести к ошибкам.BackendSymfony Symfony 6.3 улучшает HTTP-клиент с новым JsonMockResponse, множественными повторными URI, дополнительными настраиваемыми параметрами, улучшениями загрузки файлов и поддержкой шаблонов URI.BackendLaravel Если вы хотите добавить индекс в Laravel миграции и не уверены, существует ли этот индекс, как убедиться, что при выполнении миграции не возникнет ошибок?BackendPython В этом руководстве вы узнаете, когда и ка использовать строку shebang в скриптах Python для их исполнения из Unix-подобной оболочки.BackendPHP Если кратко изложить суть статьи, то она сводится к одному: Вам просто нужно попробовать Rector. Пусть тесты ломаются, просто запустите его.BackendSymfony Symfony 6.3 включает улучшения DX (developer experience) в глобальной переменной app, компоненте YAML, профилировщике, пулах кэша и функциях дампа.BackendSymfony Symfony 6.3 представляет новый класс Clock и новый ClockAwareTrait; от также интегрирует компонент Clock в другие функции Symfony.BackendLaravel Важно узнать используемую версию Laravel, прежде чем начать писать код в новом проекте. Есть несколько способов, как узнать используемую версию Laravel.BackendSymfony Symfony 6.3 представляет несколько новых компонентов, упрощающих создание и обработку веб-хуков в ваших приложениях.BackendLaravel В документации по Laravel это не проясняется, что может сбить с толку новичков и привести к нежелательным ошибкам. Узнайте как избежать распространённой ошибки.BackendSymfony Symfony 6.3 добавляет новую функцию для удаления эмодзи из содержимого строки и возможность сжатия всех данных эмодзи для экономии места на диске.BackendLaravel Сейчас Action классы и Вызываемые Контроллеры горячая тема Laravel. В этой статье я объясню, почему считаю вызываемые контроллеры плохой идеей, и объясню архитектурный шаблон, который я создал и назвал AaaS.BackendLaravel Узнайте, как использовать File::json() и Storage::json() в Laravel приложениях для чтения JSON файлов. Так же рассмотрим различия между этими методами и способы улучшения обработки ошибок.BackendLaravel Узнайте как создавать собственные директивы Blade, для упрощения шаблонов Laravel Blade. В статье рассказывается, что такое директивы Blade, как они используются во фреймворке, и как создать собственную директиву.BackendPHP Если вы работаете над унаследованным PHP-проектом, какой может быть стратегия внедрения PHP-CS-Fixer, снижающая риск и приглашающая других разработчиков к сотрудничеству?BackendSymfony Symfony 6.3 улучшает производительность извлечения сообщений перевода, компиляции сервисного контейнера и нормализации/денормализации сериализатора.BackendSymfony Symfony 6.3 включает новый атрибут MapQueryParameter
для сопоставления и проверки отдельных параметров строки запроса с аргументами контроллера.BackendSymfony Symfony 6.3 позволяет перенаправлять пользователей после их программного логина, добавляет поддержку 'Запомнить меня' для JSON логинов и позволяет очищать данные сайта после выхода пользователя.BackendSymfony В Symfony 6.3 добавлена поддержка перечислений в выражениях, деревьях конфигурации и параметрах маршрута.BackendPHP Эти более строгие проверки помогают писать более надёжный и предсказуемый код, выявлять ошибки на ранней стадии и избавиться от потенциальных головных болей в будущем. Хотя к некоторым из этих рефакторингов может потребоваться время для привыкания, они стоят усилий по улучшению качества кода.BackendLaravelPHP PHP Атрибуты были добавлены в PHP 8.0, и для многих разработчиков это было неверным названием. Каковы их преимущества и как их использовать?BackendLaravelPHP В каждом Laravel/PHP проекте у вас будет два файла: composer.json и composer.lock. В чём разница между ними? Зачем нужен composer.lock, если есть composer.json.BackendSymfony Symfony 6.3 улучшает обработку секунд в полях даты/времени, обновляет виджеты HTML 5 для даты/времени и позволяет настраивать параметры опции placeholder.BackendSymfony Symfony 6.3 включает новую команду, которая выводит метаданные сериализатора заданного класса, чтобы помочь отладить любые проблемы с Serializer.BackendLaravel Если у вас есть задания и слушатели, запускаемые в транзакциях базы данных, это может привести к несогласованности данных при откате транзакции. Узнайте как правильно обращаться с ними.BackendSymfony В Symfony 6.3 добавлен метод getPayload() к объекту Request для получения содержимого POST и/или содержимого тела запроса.BackendSymfony Symfony 6.3 добавляет совместимость с серверами OpenID Connect с помощью двух новых обработчиков токенов OIDC.BackendSymfony Symfony 6.3 включает средство проверки надёжности паролей, чтобы проверить, достигают ли данные пароли определённого уровня безопасности на основе их энтропии.BackendLaravel Некоторое время назад я сделал серию на Youtube под названием Code Reviews. Из этой серии и других обзоров я собрал наиболее распространённые ошибки допускаемые в Laravel новичками.BackendLaravelPHP Атрибуты PHP, заимствованные из концепции аннотаций в других языках, могут добавить вашим перечислениям мощную функциональность.BackendSymfony Symfony 6.3 вводит новый атрибут ValueResolver для явного выбора преобразователя аргументов, для использования в аргументах контроллера.BackendLaravelTesting С выходом PestPHP v2 мы можем тестировать архитектуру наших приложений. В этом руководстве мы рассмотрим как использовать этот плагин.BackendSymfony В Symfony 6.3 представлены два новых атрибута PHP для сопоставления данных входящего запроса Request с типизированными объектами, таким как DTO, и их автоматическая проверка.BackendLaravel Контракты и реализации — это мощные инструменты в Laravel, позволяющие определять стандартный интерфейс и писать код, который можно адаптировать к различным реализациям.BackendSymfony Symfony 6.3 вводит два новых атрибута для настройки кода состояния, заголовков и уровня журнала ваших HTTP исключений.BackendPHPGuidePHP При обсуждении комментирования кода некоторые разработчики говорят, что вы всегда должны писать комментарии. Другие говорят, что код должен быть достаточно чистым и комментироваться только в исключительных случаях. Давайте рассмотрим примеры.BackendSymfony Symfony 6.3 включает новое ограничение NoSuspiciousCharacters, чтобы избежать spoofing атак, основанных на использовании символов, которые отличаются, но внешне выглядят одинаково.BackendSymfony В Symfony 6.3 добавлена поддержка Early Hints, что позволяет браузерам загружать ресурсы, пока серверы всё ещё готовят ответ. Это значительно улучшает воспринимаемую производительность.BackendLaravel В этом примере мы создадим CRUD интерфейс в Laravel 10 и будем использовать PHP 8.2+, Laravel 10, Laravel Breeze и текущую версию Tailwind CSS.BackendPHP В PHP 8.3 добавлена возможность перезаписи значения readonly свойств при клонировании объекта. Не заблуждайтесь: вы не можете клонировать любой объект и перезаписывать его readonly значения из любого места. Эта функция касается только очень специфического (но важного) пограничного случая.BackendPython В этой статье вы узнаете о NoneType
— объекте None
, выполняющем роль null
в Python. Этот объект представляет собой пустоту, и его можно использовать для обозначения параметров по умолчанию и даже для того, чтобы показать, когда у вас нет результата. None
— инструмент, позволяющий делать все из ничего!BackendPython В этом кратком и практическом руководстве вы узнаете, когда использовать операторы Python is, is not, == и !=. Вы увидите, что эти операторы сравнения делают под капотом, погрузитесь в некоторые особенности идентификации объекта и интернирования, а также определите пользовательский класс.BackendLaravel Как разработчики, мы часто сопоставляем бизнес процессы с цифровыми процессам, от отправки электронного письма до чего-то довольно сложного. Давайте посмотрим, как взять более сложный процесс и написать чистый и элегантный код.BackendLaravelTesting Общая проблема при тестировании заключается не в том, как что-то протестировать, а в том, что вы можете протестировать. Я составил список всего, что мне нравиться тестировать в своих приложениях.BackendLaravel Запросы формы наиболее известны тем, что переносят логику проверки из контроллеров в класс, который будет выполнять предварительную проверку. Они фантастические, и я постоянно опираюсь на них. Что ещё мы можем сделать с запросами форм?BackendLaravel Laravel известен своей элегантностью, простотой и выразительностью. Одной из самых мощных возможностей Laravel являются хелперы. Хелперы массивов Laravel — важный инструмент для разработчиков, работающих с массивами данных.BackendLaravel Хотите написать собственный хелпер в Laravel? Узнайте, как создавать собственные вспомогательные функции (хелперы) с помощью этого руководства.BackendLaravel Иногда мы не хотим, чтобы у пользователей были пароли. Иногда мы хотим отправить волшебную ссылку на адрес электронной почты пользователя, чтобы он кликнул по ней и получил доступ.BackendPython Большинство новичков не знают, как настроить в Python среду разработки, соответствующую последним стандартам, используемым профессиональными программистами. В этом руководстве вы узнаете, как правильно создать полностью работающую среду разработки Python с использованием лучших отраслевых рекомендаций.BackendLaravel Сервис провайдеры это центральный узел начальной загрузки всех приложений Laravel. Ваше приложение, а также все основные службы загружаются через них.BackendLaravelTesting Откройте для себя Pest, удобную среду тестирования Laravel. Узнайте как тестировать маршруты и модели Laravel с помощью примеров из этого руководства.BackendLaravel Эта статья перевод страницы документации Laravel о жизненном цикле запроса и приложения обрабатывающего поступивший запрос от сервера.BackendLaravel Структура каталогов Laravel приложения предназначена для обеспечения отправной точки как для больших, так и для малых приложений.BackendLaravel Как веб-разработчикам, нам часто приходится взаимодействовать с API из Laravel приложений. HTTP-клиент Laravel, представленный в седьмой версии — удобная и интуитивно понятная оболочка для Guzzle HTTP библиотеки. В этой статье мы рассмотрим пять полезных приёмов работы с HTTP-клиентом Laravel, которые помогут сделать ваше разработку более эффективной и приятной.BackendLaravelPHP PHPCS — инструмент cli с открытым исходным кодом обнаруживающий нарушения стилей кода заданного стандарта кодирования, а также предоставляющий автоматические исправления для автоматически исправляемых правил.BackendLaravel При создании веб-приложения часто требуется добавить функцию, позволяющую пользователям загружать файлы. Например, вы можете разрешить пользователям обновлять изображения своего профиля или обмениваться файлами друг с другом.BackendLaravelEloquent Трейты в PHP — мощный функционал позволяющий повторно использовать код в нескольких классах не повторяясь.BackendPHP OpenAI PHP — поддерживаемый сообществом PHP API клиент, позволяющий взаимодействовать с Open AI API.BackendLaravel Ответ от Laravel приложения — это то, что я бы назвал жизненно важным, особенно когда вы создаёте API. Давайте посмотрим, как можно улучшить наши ответы.BackendPHP Начните использовать возможности ИИ уже сегодня. Он позволяет делать разработчикам невероятные вещи, и многие стартапы создают продукты на его основе.BackendLaravel В большинстве Laravel приложений необходимо отправлять уведомления, будь то внутри приложения, по электронной почте или в slack — обычно это уведомления о транзакциях, чтобы предупредить пользователя о каком-либо действии или событии в вашем приложении. Давайте разберёмся, что это такое и как действует.BackendLaravel GitHub Actions — фантастический способ запуска рабочих процессов Continuous Integration, от запуска тестов до статического анализа и многого другого.BackendLaravelEloquent При работе с моделями часто нужно сделать что-то с данными до или после их сохранения в базе данных: изменить формат, обрезать пробелы, вырезать HTML-тэги и так далее.BackendLaravel Независимо от того, используете ли вы Laravel 10, 9 или 8, давайте рассмотрим рекомендации по улучшению кодовой базы в 2023 году.BackendLaravelEloquent При работе с большими набора данных, которые сложно получить или они редко изменяются, для снижения нагрузки на базу данных мы можем использовать кэширование.BackendPHP Что такое PHP-интерфейс? PHP интерфейс определяет контракт, который должен выполнить класс. Если PHP класс — это схема объектов, то интерфейс — это схема классов. Любой класс реализующий данный интерфейс, будет иметь одинаковое поведение с точки зрения того, что можно вызвать, как его можно вызвать и что будет возвращено.BackendPHP Как новичок в программировании, особенно в PHP, вы, возможно, слышали термины классы или объекты. Что такое PHP класс?BackendPHP Важно понимать, что такое PHP функция. Мы разберём, что такое PHP функция, сколько существует PHP функций, и рассмотрим примеры PHP функций.BackendLaravel Дублирование кода — самая болезненная вещь для многих разработчиков, вы думаете, что решили проблему, но есть несколько случаев одной и той же проблемы.BackendLaravelEloquent При работе с Моделями Eloquent обычно используют события, отправляемые в течении жизненного цикла Моделей. Есть несколько разных способов сделать это, и в этой статье я расскажу о них и объясню преимущества и недостатки каждого из них.BackendLaravel Data Transfer Object (DTO) — шаблон, который при правильном использовании может улучшить качество и удобство сопровождения приложения. В этой статье мы узнаем, зачем вы должны использовать DTO в своих приложениях и как это сделать в Laravel.BackendLaravel Файлы маршрутов Laravel могут быть сильно загружены. Однажды вы замечаете, что нужно приложить усилия, для того чтобы найти что-нибудь. Как вы с этим боретесь?BackendPHPDevOps Подробное и краткое руководство по установке и обновлению PHP 8.2 в системах Debian и Ubuntu.BackendPHP PHP продолжает развиваться с новыми критическими изменениями, и хотя это отлично подходит для большинства PHP-приложений, существуют легаси/устаревшие приложения, которые не могут оправдать затрат на их поддержку. Это руководство о том, как продлить срок службы легаси приложений с помощью обновлений безопасности и обслуживания.BackendLaravel Валидация обязательна для любого современного проекта, и в Laravel очень просто начать. Внутри методов контроллера вы можете вызвать метод, передать запрос и массив правил, на соответствие которыми хотите проверить данные.BackendLaravel Pipeline/Пайплайн — одна из малоизвестных возможностей Laravel. Он часто используется в самом фреймворке, например, маршрутизация, но не так много разработчиков его используют. В этой статье я попытаюсь объяснить их и показать несколько примеров.BackendLaravel В этой статье я хотел бы поговорить об объектах-значениях. Если вы не знаете, что это такое, вот краткое введение.BackendLaravelTesting JSON:API предоставляет множество возможностей для фильтрации, сортировки и включения дополнительных данных в запрошенные данные с использованием параметров запроса. Тестирование может быть утомительным, но в этом руководстве я расскажу, как подхожу к тестированию этих конечных точек c PestPHP.BackendLaravel Создание API в Laravel — это искусство. Вы должны думать не только о доступе к данным и обёртывании Eloquent Моделей в конечные точки API.BackendLaravel Давайте разберёмся, что такое DDD? Что делает Объект-Значение и какие у него преимущества? Как и зачем их использовать в Laravel приложении.BackendLaravel В Laravel есть фантастический контейнер внедрения зависимостей, но многие избегают его. В этой статье я расскажу, как использовать контейнер Laravel, чтобы мой код работал на меня.BackendLaravel С длительными заданиями в Laravel сложно работать. К счастью, есть способы обойти эти проблемы. Давайте рассмотрим несколько решений.BackendLaravel Давайте рассмотрим как установить и настроить PHP Codesniffer с новым Laravel проектом.BackendLaravel Если вы используете привязку модели к маршруту в API Контроллерах и запись не найдена, она автоматически вернёт статус код 404 с сообщением об ошибке, например No query results for model [App\Models\User] 1
. Как это изменить?BackendLaravel Типичная ошибка, которую вижу у разработчиков: использование $date->addDays(1)
, а затем ещё одного $date->addYears(1)
в том же запросе и получение неправильных результатов. Позвольте мне объяснить.BackendLaravelTesting Laravel 9 представил новый способ создания пользовательских правил валидации: вызываемые правила (invokable rules). Это позволяет написать пользовательское правило валидации только с одним методом: __invoke
.BackendLaravelEloquent При подсчёте записей Модели, сгруппированных по типу в отношении, возникает соблазн загрузить в память слишком много запросов к БД или слишком много данных. Есть несколько способов оптимизировать его, давайте рассмотрим пример.BackendLaravelEloquent Если у вас есть события Наблюдателя для обновления или удаления записей, важно знать, что они выполняются только при обновлении отдельных записей, а не при массовом обновлении или удалении.BackendLaravel Представьте, что вы хотите показать некие глобальные
данные в Blade: например, количество новых пользователей на этой неделе в верхнем блоке навигации. Не знаете от каких контроллеров будут поступать данные? Вы можете выполнить это действие в Service Provider тремя способами.BackendLaravelEloquent Представьте, что вы хотите загрузить Модель со многими связанными моделями, но отсортировать эти связанные результаты по некоторому столбцу в этой связанной БД. Как это сделать? Давайте сделаем ещё веселее и возьмём пример двухуровневых отношений.BackendLaravel Laravel представляет выразительный минимальный API для компонента Symfony Process, позволяющий удобно вызывать внешние процессы из приложения Laravel.BackendLaravel В выходящем Laravel 10 будет представлен новый слой фасадов Process. Давайте посмотрим зачем он нужен и в чём его преимущества.BackendPHP Абстрактная фабрика — шаблон проектирования, предоставляющий интерфейс для создания семейств связанных или независимых объектов без указания конкретных классов.BackendLaravel Давайте выясним действительно ли вам нужно обновлять своё приложение до Laravel 10? Или можно не спешить и сделать это в удобный момент?BackendPHP Фигурная скобка редко используется как знак препинания, но это один из самых распространённых символов в языках программирования.BackendLaravel Перевод официального руководства по обновлению с Laravel 9 до Laravel 10. Примерное время обновления 10 минут.BackendLaravel Представьте работу приложения, в котором каждая конечная точка по-разному возвращает данные об успешных вызовах и вызовах с ошибками. Если это маленькое и простое приложение, поддерживаемое одним человеком, это может быть немного проще. Но если приложение начнёт расти и к команде присоединится больше людей, через некоторое время будет полный хаос для поддержки и улучшения приложения.BackendPHP С PHP версии 8.3 gc_status возвращает дополнительную информацию о сборщике мусора (GC).BackendLaravelEloquent Чтобы добавить запись в базу данных, вы можете использовать один из двух методов Eloquent create()
или Query Builder insert()
.BackendLaravel Вы можете столкнуться с ситуацией, когда нужно вернуть одни и те же данные для web и для API. Должно ли это быть в одном или разных контроллерах? Есть несколько способов решения.BackendLaravelEloquent При работе с API часто требуется вернуть ответ Eloquent в формате JSON.BackendPHP Недавно была выпущена спецификация PHP Standards Recommendation 20, призванная помочь разработчикам использовать общий интерфейс получения системных даты и времени. Это важная рекомендация, если вам необходимо протестировать PHP код, манипулирующий системной датой и временем.BackendLaravel За эти годы я научился пользоваться целым рядом удивительных инструментов используемых для разработки приложений на PHP и Laravel.BackendLaravel В этой статье я расскажу о принципе внедрения зависимостей, так же известном как контейнер Inversion of Control (IoC). Расскажу как Laravel использует его внутри и предлагает эту концепцию разработчикам, чтобы их код был понятным и менее взаимозависимым.BackendLaravel Фасады, их любят или ненавидят. Но они естественная часть того, чем сегодня является Laravel. Фасады Laravel это не совсем фасады, не так ли?BackendLaravel Vite — новый фронтенд инструмент для Laravel. Давайте посмотрим, как перенести Laravel проект с webpack на Vite.BackendLaravel Недавно мы создавали Laravel API для мобильного приложения созданного отдельной командой. Когда пользователь сообщил о проблеме, одним из первых вопросов был Эта ошибка связана с API или мобильным приложением?
В этой статье я поделюсь стратегией ведения лога, которую мы использовали для быстрого поиска причин проблемы.BackendLaravelTesting Из этой статьи вы узнаете, как легко начать автоматизированное тестирование в Laravel.BackendLaravel SOLID. Звучит по-научному, не так ли? Но это просто маркетинг. На самом деле это самая простая вещь во вселенной. Набор принципов популяризованных Робертом С. Мартином.BackendLaravel Laravel Pint — новинка от команды Laravel. Отличная оболочка для PHP CS Fixer, мой любимый инструмент для стандартизации кода.BackendLaravel Продолжаем серию статей о происходящем под капотом, на этот раз о транзакциях базы данных в Laravel. Я не буду повторять всё о том, как вы можете использовать транзакции в Laravel. Если вы не знакомы с темой можете всё найти в официальной документации. Сейчас мы сосредоточимся на том, как эти реализации работают в фоновом режиме, что вызывало головную боль и как этого избежать. Итак, давайте разбираться.BackendPHP В этой статье мы обсудим различия между self::
, static::
и parent::
в PHP. Также расскажем, когда и почему вы можете использовать каждый из них в своём коде.BackendLaravel Коллекции Laravel действительно эффективны для работы с массивами данных. Давайте узнаем, как использовать предоставленные ими методы для улучшения приложений.BackendLaravel Все мы время от времени совершаем глупые ошибки. Я делюсь этим, чтобы избавить кого-то ещё от небольшого разочарования.BackendLaravel Долгожданный ажиотаж наконец-то закончился, Laravel выпустили консольное приложение с открытым исходным кодом и мы получили его в свои руки. Представляем Laravel Pint...BackendLaravel Если у вас есть Middleware, где его использовать: в файле маршрутов или в Контроллере? Рассмотрим четыре варианта.BackendLaravel Давайте попробуем использовать генераторы для постраничного разбиения всех записей на примере PokeAPI.BackendPHP Редиректы или перенаправления в PHP это просто. Мы рассмотрим их шаг за шагом и я покажу, как избежать некоторых ловушек. Мы узнаем нюансы между 301 и 302 перенаправлением.BackendLaravelEloquent Приготовьтесь повысить уровень Laravel навыков с помощью этого руководства по запросам Eloquent! Вы узнаете всё, что вам нужно знать, от начальных до продвинутых техник.BackendLaravel В этом руководстве вы узнаете о некоторых способах рефакторинга контроллера и использовании сервисов, событий, action классов и многое другое.BackendLaravel Фабрики Laravel значительно экономят время при написании тестов. Раньше я создавал фабрики, чтобы каждое свойство модели находилось в состоянии по умолчанию, но в последнее время я переключился на минимальные фабрики по умолчанию. Я объясню причины этого изменения и какие преимущества я обнаружил.BackendLaravelTDDTesting Тестирование или Разработка Через Тестирование (Test-Driven Development) важные и сложные темы программирования. Особенно сложным будет переход от простого написания тестов к TDD.JavaScriptFrontendBackend Большинство языков программирования имеют концепцию модулей: способ определить функции в одном файле и использовать их в другом.BackendLaravel Если вы никогда не создавали Laravel приложение, позвольте показать вам пошаговое руководство по Laravel с нуля — без особых требований. Следуйте инструкциям, для изучения Laravel.BackendLaravel Недавно я прочитал сообщение на форуме Laracasts с вопросом о валидации периода даты. Решил написать эту статью с возможным решением.BackendPHP Эти три структуры могут сбить с толку новичков в PHP или опытных разработчиков, поэтому давайте рассмотрим, что делает каждая из них и когда их лучше всего использовать.BackendToolsDevOps mkcert — невероятный инструмент командной строки с открытым исходным кодом генерирующий доверенные сертификаты, которые можно использовать для включения https на локальных веб-сайтахBackendPHP В PHP 5 ввели объявление типов (также известное как подсказки типов), которые позволяют функциям требовать, чтобы параметры имели определённый тип во время вызова. Если заданное значение имеет неправильный тип, то генерируется ошибка: в PHP 5 — исправимая фатальная ошибка, а в PHP 7 — исключение TypeError.BackendLaravel Миграции необходимы в любом приложение Laravel, использующем базу данных. Я расскажу, что это такое, почему нужно их использовать и как их генерировать.BackendLaravelEloquent Soft delete в Laravel позволяет предотвратить ошибки, не удаляя важные данные из базы данных сразу.BackendLaravel Laravel 10 вышел 14 февраля 2023 года. Его разработка ещё продолжается. Давайте изучим новые функции о которых уже известно.BackendPHP Этот RFC предлагает добавить новые методы строительных блоков
в \Random\Randomizer
, реализующие полезные операции, которые либо многословны, либо очень сложны для реализации в пользовательской среде.BackendLaravel Изучение фреймворка может быть ошеломляющим. Время и практика сделают вас мастером. Вот несколько рекомендаций, которые помогут вам в достижении цели.PHPBackend PHP представляет функции serialize()
и unserialize()
для сериализации любого значения PHP (строки, целые числа, объекты, NULL, массивы, перечисления и т. д.) и восстановление PHP-значения из этого строкового представления.PHPBackend В PHP 8.3 добавлена новая функция названая json_validate
, возвращающая true
или false
в зависимости от того, является ли заданная строка допустимой JSON-строкой.LaravelBackend В этой статье я покажу, как сократить Контроллеры с помощью Сервисных классов, а также различные способы инициализации и внедрения этого Сервиса.LaravelBackend Сервис Контейнер (Контейнер Служб), пожалуй, одна из самых запутанных тем для новичков в Laravel. Официальная документация объясняет его хорошо, но с большим количеством теоретических слов
. Давайте приступим к практике, и я покажу основные практические примеры, которые вам нужно знать.LaravelBackend Довольно часто я вижу людей, которые ищут cron
в контексте Laravel. У фреймворка есть механизм работающий поверх `crontab` в Linux, позвольте показать вам, как это работает.LaravelBackend Чтобы помочь вам узнать больше что происходит в вашем приложении, Laravel предоставляет надёжные службы логирования. Логирование в Laravel основано на каналах
. Каждый канал представляет определённый способ записи информации в лог.LaravelBackend DTO, или Domain Transfer Object, можно использовать для многих целей. С момента выпуска PHP 8 создание этих фантастических классов стало ещё проще.LaravelBackend Наведите порядок в контроллерах с помощью сервисных классовBackendPHP Обычное недоразумение, это различие между DTO и Объект-Значение. И поэтому я искал способ классифицировать эти объекты без ошибок.BackendPHP Когда использовать трейт? Никогда. Для трейта всегда есть лучшая альтернатива. В любом случае на практике я всегда нахожу лучшие альтернативы трейту.BackendPHP Релиз PHP 8.2 запланирован на 8 декабря 2022 года. В этой статье мы рассмотрим новые возможности, улучшения производительности, изменения и что объявлено устаревшим.BackendPHP В PHP 8.2 введён новый способ объявления классов: readonly-классы. Поскольку readonly-классы — просто синтаксический сахар для того, что бы сделать все свойства класса доступными только для чтения, это означает, что те же правила применяются и к readonly-классам.BackendPHP В PHP 8.1 введены readonly-свойства. Они избавляют от множества проблем, но и добавляют новую — запрет на переопределение readonly-свойств клонированного объекта. Давайте разберёмся с решением этой проблемы и найдём обходной путь.BackendPHP PHP 8.1 решает несколько проблем, вводя ключевое слово readonly. Это ключевое слово делает то, что предполагает его название: как только свойство установлено, оно больше не может быть изменено.BackendPHP С момента выхода, в конце 2020 года, PHP 8 изменил правила игры. В этом руководстве я рассмотрю все последние нововведения с реальными примерами того, как я могу их использовать.LaravelBackend Итак, я решил составить список из 20 моих любимых советов, которые я размещал в своих аккаунтах в соцсетях, чтобы все могли познакомиться с ними. Они не размещены в каком-то определённом порядке, но я надеюсь, что вы найдёте хотя бы один новый совет, который окажется полезным.BackendSSG Многие страницы сайтов динамические. Это означает, что содержимое страницы может меняться от сеанса к сеансу в зависимости от того, кто её загружает, вошёл ли он в систему или вышел, а также от ряда других факторов. Если ваш сайт этого не делает, значит, вы имеете дело со статическими страницами.LaravelBackend Laravel Socialite — официальный пакет Laravel для аутентификации у провайдеров OAuth. Он поддерживает аутентификацию с помощью Facebook, Twitter, LinkedIn, Google, GitHub и Bitbucket. Но что, если вы хотите использовать другой драйвер?SymfonyBackend При создании новых проектов Symfony вы можете начать с bare-bones skeleton или kitchen sink skeleton. Я никогда не использовал kitchen sink skeleton, так как предпочитаю начинать с минимального количества зависимостей и добавлять пакеты только тогда, когда они мне нужны. Symfony делает это безболезненным, так как в большинстве случаев сообщает, какой пакет добавить, когда вы пытаетесь использовать что-то, что ещё не входит в ваш набор зависимостей.LaravelBackend При разработке веб-приложения может возникнуть ситуация, когда вам нужно узнать некоторую информацию о браузере и операционной системе вашего пользователя. В этой статье мы рассмотрим как это сделать.LaravelBackendTDD Тестирование - неотъемлемая часть разработки программного обеспечения. Это даёт уверенность, что код соответствует критериям приемлемости и снижает вероятность ошибок.LaravelBackend Контроллеры играют огромную роль в любом проекте основанном на MVC (Model View Controller). По сути, они являются "клеем", который принимает пользовательский запрос, выполняет какую-то логику, а затем возвращает ответ. Если вы когда-либо работали над какими-либо довольно большими проектами, вы замечали, что у вас много контроллеров, и они могут довольно быстро начать превращаться в бардак. В этой статье мы рассмотрим, как можно очистить раздутый контроллер в Laravel.LaravelBackend Стандартные страницы ошибок в Laravel выглядят немного ужасно. В этой статье я покажу, как настроить страницы ошибок. К счастью для нас, в Laravel это очень просто. Мы создадим страницы для 404, 500 и 503 ошибок.LaravelBackend В веб-разработке важны целостность и точность данных. Поэтому необходимо быть уверенным, что мы пишем код, который безопасно хранит, обновляет и удаляет данные в наших базах данных. В этой статье мы рассмотрим, что такое транзакции базы данных, почему они важны и как начать их использовать в Laravel. Мы так же рассмотрим типичные проблемы связанные с заданиями в очереди и транзакциями баз данных.PHPBackend Недавно я опубликовал статью об улучшении PHP кода с помощью интерфейсов. Она охватывает основы того что такое интерфейс, что он может делать. И как вы можете использовать его сделав свой PHP код более расширяемым и поддерживаемым. Один из вопросов, заданных в комментариях к статье был от разработчиков, которые хотели знать "когда я должен использовать интерфейс вместо абстрактного класса?". Я подумал и решил написать статью, что бы объяснить различия между абстрактными классами и интерфейсами в PHP и дать краткий обзор того, когда вы должны использовать каждый из них.PHPBackend В программировании важно убедится, что ваш код легко читается, поддерживается, расширяется и тестируется. Один из способов улучшить эти факторы — использовать интерфейсы.LaravelBackend Хелперы могут быть полезны в ваших Laravel проектах. Они помогают упростить код в проекте простым и понятным способом. В Laravel есть множество встроенных хелперов.JavaScriptFrontendBackend На днях коллега подошёл ко мне со строкой кода, которую нашёл на StackOverflow, и спросил, как это работает. И я подумал, что это отличный пример четырёх концепций от среднего до продвинутого уровня JavaScript, поэтому решил записать и обосновать своё объяснение.JavaScriptFrontendBackend В JavaScript hoisting позволяет использовать функции и переменные до их объявления. В этой статье мы узнаем что такое hoisting, и как он работает.SymfonyBackend Улучшения в Symfony 5.4: более длинные интервалы для компонента RateLimiter; простой способ создания ошибок в компоненте Validator; блокировка файлов при добавлении данных в методе Filesystem; экстрактор метаданных PhpStan для компонента PropertyInfoSymfonyBackend Улучшения в Symfony 5.4: настраиваемый статус-код HTTP для шаблонов из маршрутов; новый метод innerText() в компоненте DomCrawler; рекурсивная поддержка .gitignore в компоненте Finder, и новая команда для отладки переменных окружения.SymfonyBackend Новые улучшения в Symfony 5.4: Строгий режим для ресурсов, улучшения страницы ошибок, исключения каталогов для линтера yaml, новый нулевой класс ULID и новые строковые функции.SymfonyBackend Symfony 5.4 вышел несколько дней назад, но у нас ещё есть записи в блоге об улучшениях основных функций ожидающие своей публикации. В этой публикации мы расскажем об улучшениях добавленных в компонент Serializer.SymfonyBackend Помимо переработанной панели логов, Symfony 5.4 включает другие улучшения связанные с профилировщиком Symfony.SymfonyBackend В Symfony версии 5.4 значительно улучшили компонент Messenger, теперь можно любой класс назначить обработчиком компонента, стало проще получать метаданные воркера и появилась обработка сообщений в пакетном режиме.SymfonyBackend Каждые два года Symfony выпускает новый релиз основной/мажорной версии (изменяется первый номер). Эти выпуски довольно сложно обновить, поскольку они могут нарушать обратную совместимость. Однако, Symfony максимально упрощает процесс обновления. Это означает, что вы можете обновить большую часть своего кода до того, как основная версия будет выпущена в релиз. Это называется "сделать ваш код совместимым с будущим релизом".