Статьи с тегом «PHP»
BackendPHP 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. Также можно передать параметр в функцию, чтобы получить конкретную информацию о запросе.BackendPHP Ключевое слово exit
и его псевдоним die
— языковые конструкции, выводящие сообщение и завершающие текущий сценарий. В CLI-приложениях exit
/die
можно использовать для завершения работы приложения с заданным кодом выхода.BackendPHP Одной из менее заметных функций, появившихся в PHP 8.4, каламбурно говоря, является ассиметричная видимость PHP свойств. Это обновление текущей видимости, а также ряд усовершенствованных возможностей по сравнению с readonly, хуками свойств или магическими методами. Это не для всех, но может оказаться весьма полезным. Давайте посмотрим!BackendPHP PHP 8.4: Curl: Новые константы CURL_HTTP_VERSION_3
и CURL_HTTP_VERSION_3ONLY
для поддержки HTTP/3BackendPHP Расширение Intl в PHP 8.4 предоставляет новую функцию intltz_get_iana_id
и новый статический метод IntlTimeZone::getIanaID()
в классе IntlTimeZone, возвращающий идентификатор часового пояса IANA для переданного идентификатора часового пояса.BackendPHP Модели — отличный инструмент для взаимодействия с хранилищем данных. Можно задать, как выглядят данные, и это гарантирует, что они совместимы с хранилищем данных, обычно базой данных. Когда есть модель, проверяющая вводимые данные и помогающая их записывать, может возникнуть соблазн использовать её и для извлечения данных. За исключением некоторых базовых CRUD-приложений, обычно это не очень хорошая идея. Давайте разберёмся, почему.BackendPHP Благодаря поддержке Unicode 16 расширение MBString может работать со всеми новейшими символами Emoji, а также имеет самую актуальную информацию о смене регистра и ширине символов.BackendPHP bcdivmod
может быть использован в случаях, когда необходимо получить частное и остаток от деления, и избавляет от необходимости вызывать функции bcdiv
и bcmod
по отдельности.BackendPHP Поскольку все уведомления E_STRICT
были преобразованы в E_NOTICE
начиная с PHP 8.0, в PHP 8.4 константа E_STRICT
объявлена устаревшей.BackendPHP Часто, когда думают о PHPStan, обычно думают об улучшении Type Coverage. На самом деле это лишь малая часть того, на что способен PHPStan. В этой статье рассмотрим, как использовать его для предотвращения регрессий обновления.BackendPHPTesting У фреймворка тестирования Pest много поклонников, в основном из-за элегантного, читабельного «англоязычного» синтаксиса. Я покажу три моих любимых примера синтаксиса expect()
и сравню аналогичные вещи в Pest vs PHPUnit.BackendPHP Узнайте, как реализовать автозагрузку PSR-4 в PHP. Откройте для себя преимущества PSR-4, как настроить его с помощью Composer, а также лучшие практики организации пространств имён в ваших PHP проектах.BackendPHPTestingLaravel Узнайте, как Pest 3 упрощает архитектурное тестирование с помощью пресетов, позволяя без труда внедрять лучшие практики и поддерживать качество кода в проектах.BackendPHPTestingLaravel Повысьте уровень тестирования PHP с помощью Pest 3. Архитектурные тесты с пресетами, мутации и управление списками задач.BackendPHPComposer Если хотите создать PHP пакет с нуля и поделиться им с другими PHP разработчиками, Composer — это менеджер зависимостей, упрощающий этот процесс! Благодаря Composer PHP имеет одну из лучших экосистем пакетов. Погрузимся в этот процесс и пройдёмся по шагам создания PHP пакета.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 для оптимальной эффективности и читабельности кода. Изучите синтаксис, примеры использования и практические примеры.BackendPHP В PHP я предпочитаю использовать функции массивов, а не циклы foreach
. И хотя синтаксис не такой красивый, как в JavaScript, считаю, что они работают лучше, чем "обычный" цикл.BackendPHP В PHP уже давно существует возможность типизировать параметры методов и функций. Добавление типов в массивы (и просто добавление типов в целом) поможет при использовании IDE или статического анализа, а также поможет другим разработчикам в команде понять ваш код. Также это поможет избежать ошибок и сделает код чище и читабельнее.DevOpsPHP Производительность PHP кода имеет решающее значение для обеспечения плавной и отзывчивой работы пользователей. Независимо от того, создаёте ли систему управления контентом или платформу электронной коммерции, понимание факторов, влияющих на производительность PHP, и влияния версий PHP необходимо для создания быстрых и эффективных веб-приложений. Давайте разберёмся в ключевых аспектах, влияющих на производительность веб-приложения.BackendPHP MD5 подобен таракану — он живуч и вылезает отовсюду, но ясно одно: необходимо прекратить его использование (и SHA-1 тоже)!BackendPHP Узнайте, как использовать именованные аргументы в PHP, чтобы улучшить читаемость кода. Кроме того, поговорим о некоторых проблемах, о которых следует помнить.DevOpsPHP OPCache — надёжный инструмент, повышающий производительность PHP, делающий веб-приложения быстрее и эффективнее.BackendPHP В PHP 8.4 добавлено несколько функций, которых давно не хватало: array_find()
и её вариации. Назначение array_find()
простое: передайте ей массив и обратный вызов, и получите первый элемент, для которого обратный вызов вернёт true
.BackendPHP Несмотря на то, что HTML 5 существует уже более 16 лет, PHP никогда не поддерживал его должным образом. В PHP есть \DOMDocument
, который теоретически должен поддерживать HTML 4, но на самом деле он уже не совместим с HTML 4.BackendPHP Использование PHP в июле 2024 года. Каждые полгода я публикую обновлённую информацию о том, какие версии PHP используются в сообществе.BackendPHP Узнайте о девяти магических константах, предоставляемых PHP. Рассмотрим примеры того, что делает каждая из магических констант.BackendPHP Узнайте, что такое PHP атрибуты и как их использовать. Также рассмотрим, как создавать собственные PHP атрибуты.BackendPHP В PHP 8.0 был добавлен WeakMap
— мистическая функция, которую мы никогда не использовали, пока не столкнулись со сложной проблемой, требующей решения.BackendPHP Простота и гибкость делают JSON идеальным выбором для обмена данными, API и веб-сервисов, конфигурационных файлов, хранения данных и сериализации. Однако такая гибкость может привести к проблемам, если структура данных не будет должным образом проверена. Именно здесь на помощь приходит JSON Schema предоставляющая мощный способ проверки структуры и содержимого данных JSON.BackendPHPTesting Вдохновлённый сообщением создателя Pest Nuno Maduro о методе ->only()
в PestPHP, я собрал советы и рекомендации для PHP-разработчиков по эффективной изоляции, пропуску и итерации тестов.BackendPHP Вызов session_set_save_handler()
с более чем двумя аргументами объявлен устаревшим.BackendPHPComposer Composer — основной менеджер зависимостей для PHP, и если работаете с PHP, то уже знакомы с такими часто используемыми командами, как composer install
и composer update
. Composer также предоставляет несколько менее известных, но полезных при работе над приложениями в PHP, команд.BackendPHP Расширение Intl в PHP 8.4 добавляет новую функцию grapheme_str_split
, разбивающую заданную строку на массив графем.BackendPHP В PHP 8.4 добавлены четыре новые функции массива для поиска и проверки элементов массива с функцией обратного вызова: array_find
, array_find_key
, array_all
и array_any
.BackendPHP PHP разработчику, нужно знать множество особенностей языка, чтобы облегчить написание и сопровождение кода. Без явного рассказа о той или иной части языка сложно даже узнать о её существовании, поэтому сегодня поговорим о магических методах, которыми обладают классы, и о том, как их использовать при написании кода.BackendPHP Сможем ли отказаться от скобок вокруг ключевого слова new при инстанцировании класса? Узнайте последние новости о статусе этого интересного RFC-предложения PHP 8.4.BackendPHP Подробнее об атрибуте Override: Override имеет несколько специфических, менее известных вариантов поведения с классами, трейтами и интерфейсами.BackendPHP В процессе рефакторинга и оптимизации легаси кода я столкнулся с несоответствием сигнатур метода, что вызывало проблемы с производительностью.BackendPHP При создании PHP-приложений исключения играют важную роль в обработке ошибок и сбоев, возникающих во время жизненного цикла приложения. Рассмотрим, как использовать пользовательские исключения для улучшения приложений.BackendPHP Property Hooks в PHP становится всё ближе к появлению в PHP 8.4 благодаря подавляющему большинству голосов 34/1. Узнайте о Property Hooks в PHP и синтаксисе, описанном в предложении.BackendLaravelPHP Пришло время повысить количество раундов bcrypt до 12 (или выше)!BackendPHP В Windows запросы HTTPS, выполняемые с помощью расширения Curl, могут не выполняться, поскольку у Curl нет списка корневых сертификатов для проверки сертификатов сервера. Рассмотрим безопасные и эффективные решения, а также обратим внимание на плохие советы, которые могут сделать PHP-приложения небезопасными.BackendPHP Расширение PHP OpenSSL предоставляет функции шифрования, аутентификации, обмена ключами, хэширования паролей и общего хэширования в PHP. Расширение OpenSSL использует библиотеку OpenSSL для обеспечения этой функциональности.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.BackendPHP В PHP 8.4 добавлены две новые функции http_get_last_response_headers
и http_clear_last_response_headers
, которые можно использовать для получения и очистки HTTP-заголовков последнего ответа HTTP-обёртки, что может заменить историческую переменную $http_response_header
.BackendPHP Обновление PCRE2 в PHP 8.4 содержит ряд изменений, которые могут быть несовместимы с существующими регулярными выражениями или несовместимы с другими версиями движков регулярных выражений.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 года. Давайте рассмотрим новые функции и изменения.BackendPHP Рекурсивная функция — это функция, вызывающая саму себя для решения задачи. Этот тип функций часто используется в ситуациях, когда задачу можно разбить на более мелкие, похожие, но всё же более мелкие задачи. Функция продолжает вызывать себя с изменёнными аргументами до тех пор, пока не будет достигнут базовый случай, после чего функция перестаёт вызывать себя и начинает возвращать значения. Итак, все ли рекурсивные функции в PHP нам известны?BackendPHP Как эффективно использовать интерфейсы, чтобы сделать PHP-пакет более удобным в работе и более настраиваемым, чем когда-либо прежде.BackendPHP Как убрать за собой в PHP : используйте register_shutdown_function
, __destruct
и try-catch-finally
, чтобы убедиться, что уборка выполняется всегдаBackendPHP compact()
и extract()
— две классические функции PHP: давайте рассмотрим, как они используются сейчас и как их можно модернизировать.BackendPHP Как бы полезно это ни звучало, но nl2br()
может оставить вас уязвимым для межсайтового скриптинга (XSS)… Вместо него лучше использовать CSS!BackendPHPSecurity Random генерирует криптографически защищённые случайные значения в различных форматах с помощью простого PHP пакета.BackendPHP Null-safe оператор был добавлен в PHP 8.1: это новый объектный оператор, предотвращающий фатальную ошибку и последующую остановку выполнения при вызове метода или свойства со значением null
. Он имеет большую привлекательность, поскольку называется "безопасным" и сокращает количество проверок перед вызовом метода. Однако на практике у оператора nullsafe есть и свои недостатки.BackendPHP Как осуществить плавную миграцию от массива к объекту в PHP: используя динамический синтаксис PHP, общий для массивов и объектов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.BackendPHPSecurity PHP включает несколько очень удобных функций, ориентированных на безопасность, но вы должны знать, как правильно их использовать, иначе рискуете оставить значительную уязвимость, ожидающую своего применения!BackendPHPTesting Абстрактные классы не могут быть инстанцированы напрямую, что создаёт проблему при тестировании функциональности, реализованной в самом абстрактном классе. В этой статье я поделюсь своим подходом к решению этой проблемы.BackendPHPComposer Сценарии Composer — это очень удобный способ определения команд, которые вы часто используете. Например, у нас есть скрипты composer для запуска тестов, проверки стиля кодирования или обновления хелперов IDE.DevOpsPHP В этой статье рассказывается, как установить или обновить PHP 8.3 на macOS с помощью Homebrew.DevOpsPHP Полное руководство по установке или обновлению PHP 8.3 на Fedora, RHEL, CentOS, Alma Linux, Rocky Linux и другие.DevOpsPHP Полное руководство по установке или обновлению до PHP 8.3 на Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Focal) и Debian 12 (Bookworm), Debian 11 (Bullseye), Debian 10 (Buster).PHPBackend PHP 8.3 вышел 23 ноября 2023 года, и, как обычно, вам нужно быть в курсе новых функций и критических изменений, чтобы упростить переход.BackendPHP Команда PHP выпустила PHP 8.3, в котором появились типизированные константы классов, функция json_validate()
, динамическое получение константы класса, атрибут #[Override]
и многое другое.BackendPHP Value Objects/Объекты Значения — это фантастическая концепция, которую мы можем использовать для улучшения наших приложений. Они представляют собой небольшие объекты, такие как Money, DateRange, Email или Age, которые мы используем в сложных приложениях. Они являются ключевыми элементами при создании эффективного, понятного и сопровождаемого кода.BackendPHP В последнее время в сообществе PHP разработчиков ведутся дебаты о преимуществах и недостатках Композиции и Наследования. В мире объектно-ориентированного программирования (ООП) существует множество мощных инструментов и концепций, каждая из которых имеет свои сильные и слабые стороны и призвана улучшить читаемость, модульность и возможность повторного использования кода.BackendPHP Массивы — удобный способ организации и передачи данных в PHP-приложениях, но стоит ли это делать? В этой статье я расскажу о минусах злоупотребления использованием ассоциативных массивов и покажу простую альтернативу этому.BackendPHP Недавно мне пришлось решать задачи, требующие знания сырых
функций PHP, таких, как итерация файлов и каталогов. По мере развития все более высоких уровней абстракции мы часто перестаём помнить, как работать на низком уровне. В реальности это имеет множество последствий, особенно с точки зрения производительности.BackendPHP Обход, фильтрация и манипулирование данными с помощью итераторов в PHP. Как создавать пользовательские итераторы и фильтры.BackendPHP Включите режим строгой типизации в PHP с помощью declare(strict_types=1). Разберём его последствия на примерах кода.BackendPHPComposer Менеджер зависимостей Composer является де-факто способом управления зависимостями в PHP-проектах. Вся современная PHP-разработка немыслима без Composer. Но знаете ли вы, что с помощью Composer можно делать многое, кроме установки и обновления зависимостей?BackendPHP Тип null является единичным типом PHP, т.е. имеет только одно значение: null. В этой статье мы рассмотрим все способы работы со значениями null в PHP.BackendPHP Генераторы в PHP позволяют конструировать итераторы без необходимости создания всего массива. Это позволяет значительно сократить потребление памяти.BackendPHPFrontendJavaScript Насладитесь быстрым процессом создания зависимостей front-end в ваших PHP-проектах благодаря возможностям управления пакетами Bun.BackendPHP Сериализация — это процесс, в котором принимается часть данных и создаётся хранимое или переносимое представление этих данных.BackendPHP Погрузитесь в это увлекательное руководство по рефакторингу фрагмента кода с использованием функции max
в PHP.BackendPHP PHP предоставляет функции parse_ini_string
и parse_ini_file
, которые повторно используют встроенный в PHP синтаксический анализатор, применяемый для собственных конфигурационных файлов PHP на основе INI.BackendPHP PHP-функция class_alias()
может создавать псевдоним для заданного класса. Псевдоним ведёт себя точно так же, как и оригинальный класс.BackendPHP В CLI PHP предусмотрена функция линтинга, которая проверяет переданное имя файла на наличие синтаксических ошибок. Это удобно для быстрой проверки PHP-файла или фрагмента перед выполнением.BackendPHP PHP поддерживает замену значений PHP INI на переменные окружения с помощью синтаксиса строковой интерполяции PHP. Если указанная переменная окружения недоступна, парсер INI использует пустую строку. В PHP 8.3 этот синтаксис расширен для поддержки объявления запасного/fallback значения, если переменная окружения не установлена.BackendPHP PHP постоянно развивается, и важно быть в курсе последних функций и улучшений. В этой статье представлены 20 функций PHP, которые вы должны знать в 2023 году, каждая из которых проиллюстрирована удобным примером кода.BackendPHP Давайте улучшим ваш код с помощью более безопасного способа программирования с использованием перечислений PHP, или enum. В этой статье вы узнаете о них всё, что нужно.BackendPHP Давайте создадим крошечный движок шаблонов для PHP! Эта статья будет посвящена рендерингу шаблона и отображению данных, которые можно экранировать с помощью htmlspecialchars()
.BackendPHP В PHP 8.3 появилась новая функция: атрибут #[Override]
. Эта функция уже известна в других языках, но позвольте мне объяснить, если вы не знаете, что она делает.BackendPHP Изучите основы использования часовых поясов в PHP и как сделать лучший выбор из набора функций предлагаемых PHP.BackendPHP В этой мини статье вы узнаете, как создать сервис контейнер для внедрения зависимостей в PHP. Я начну с самого простого контейнера, совместимого с PSR-11, а затем добавлю различные функции, пока у нас не получиться мощный контейнер общего назначения.BackendPHP Давайте разберёмся почему возникает ошибка 'Using $this when not in object context' и как её исправить.BackendPHP Первый альфа-релиз PHP 8.3 уже отмечен и доступен для загрузки и тестирования.BackendPHP Файберы представленные в PHP представляют собой элегантный способ имитации параллельной работы. Узнайте больше о том, чем они отличаются от потоков и сопрограмм.DevOpsPHPLaravelBackend Если вы запускаете приложения PHP/Laravel в продакшене, есть большая вероятность, что вы используете некоторые из этих вещей:CGI, FastCGI, php-fpm, nginx и Laravel. Как разработчик, я считаю важным понимать хотя бы основы этих компонентов. Итак, давайте разбираться.BackendPHP Прочтите о разнице между замыканиями и стрелочными функциями в PHP. В этой статье рассказывается, что они из себя представляют, чем отличаются, и как вы можете использовать их в своём коде.BackendPHP Прочитайте о том, как вы можете использовать declare(strict_types=1)
для повышения безопасности типов PHP-кода. Мы обсудим, как сделать код более надёжным и избежать принудительного приведения типов, что может привести к ошибкам.BackendPHP Если кратко изложить суть статьи, то она сводится к одному: Вам просто нужно попробовать Rector. Пусть тесты ломаются, просто запустите его.BackendPHP Если вы работаете над унаследованным PHP-проектом, какой может быть стратегия внедрения PHP-CS-Fixer, снижающая риск и приглашающая других разработчиков к сотрудничеству?BackendPHP Эти более строгие проверки помогают писать более надёжный и предсказуемый код, выявлять ошибки на ранней стадии и избавиться от потенциальных головных болей в будущем. Хотя к некоторым из этих рефакторингов может потребоваться время для привыкания, они стоят усилий по улучшению качества кода.BackendLaravelPHP PHP Атрибуты были добавлены в PHP 8.0, и для многих разработчиков это было неверным названием. Каковы их преимущества и как их использовать?BackendLaravelPHP В каждом Laravel/PHP проекте у вас будет два файла: composer.json и composer.lock. В чём разница между ними? Зачем нужен composer.lock, если есть composer.json.BackendLaravelPHP Атрибуты PHP, заимствованные из концепции аннотаций в других языках, могут добавить вашим перечислениям мощную функциональность.BackendPHPGuidePHP При обсуждении комментирования кода некоторые разработчики говорят, что вы всегда должны писать комментарии. Другие говорят, что код должен быть достаточно чистым и комментироваться только в исключительных случаях. Давайте рассмотрим примеры.BackendPHP В PHP 8.3 добавлена возможность перезаписи значения readonly свойств при клонировании объекта. Не заблуждайтесь: вы не можете клонировать любой объект и перезаписывать его readonly значения из любого места. Эта функция касается только очень специфического (но важного) пограничного случая.BackendLaravelPHP PHPCS — инструмент cli с открытым исходным кодом обнаруживающий нарушения стилей кода заданного стандарта кодирования, а также предоставляющий автоматические исправления для автоматически исправляемых правил.BackendPHP OpenAI PHP — поддерживаемый сообществом PHP API клиент, позволяющий взаимодействовать с Open AI API.BackendPHP Начните использовать возможности ИИ уже сегодня. Он позволяет делать разработчикам невероятные вещи, и многие стартапы создают продукты на его основе.BackendPHP Что такое PHP-интерфейс? PHP интерфейс определяет контракт, который должен выполнить класс. Если PHP класс — это схема объектов, то интерфейс — это схема классов. Любой класс реализующий данный интерфейс, будет иметь одинаковое поведение с точки зрения того, что можно вызвать, как его можно вызвать и что будет возвращено.BackendPHP Как новичок в программировании, особенно в PHP, вы, возможно, слышали термины классы или объекты. Что такое PHP класс?BackendPHP Важно понимать, что такое PHP функция. Мы разберём, что такое PHP функция, сколько существует PHP функций, и рассмотрим примеры PHP функций.BackendPHPDevOps Подробное и краткое руководство по установке и обновлению PHP 8.2 в системах Debian и Ubuntu.BackendPHP PHP продолжает развиваться с новыми критическими изменениями, и хотя это отлично подходит для большинства PHP-приложений, существуют легаси/устаревшие приложения, которые не могут оправдать затрат на их поддержку. Это руководство о том, как продлить срок службы легаси приложений с помощью обновлений безопасности и обслуживания.BackendPHP Абстрактная фабрика — шаблон проектирования, предоставляющий интерфейс для создания семейств связанных или независимых объектов без указания конкретных классов.BackendPHP Фигурная скобка редко используется как знак препинания, но это один из самых распространённых символов в языках программирования.BackendPHP С PHP версии 8.3 gc_status возвращает дополнительную информацию о сборщике мусора (GC).BackendPHP Недавно была выпущена спецификация PHP Standards Recommendation 20, призванная помочь разработчикам использовать общий интерфейс получения системных даты и времени. Это важная рекомендация, если вам необходимо протестировать PHP код, манипулирующий системной датой и временем.BackendPHP В этой статье мы обсудим различия между self::
, static::
и parent::
в PHP. Также расскажем, когда и почему вы можете использовать каждый из них в своём коде.BackendPHP Редиректы или перенаправления в PHP это просто. Мы рассмотрим их шаг за шагом и я покажу, как избежать некоторых ловушек. Мы узнаем нюансы между 301 и 302 перенаправлением.BackendPHP Эти три структуры могут сбить с толку новичков в PHP или опытных разработчиков, поэтому давайте рассмотрим, что делает каждая из них и когда их лучше всего использовать.BackendPHP В PHP 5 ввели объявление типов (также известное как подсказки типов), которые позволяют функциям требовать, чтобы параметры имели определённый тип во время вызова. Если заданное значение имеет неправильный тип, то генерируется ошибка: в PHP 5 — исправимая фатальная ошибка, а в PHP 7 — исключение TypeError.BackendPHP Этот RFC предлагает добавить новые методы строительных блоков
в \Random\Randomizer
, реализующие полезные операции, которые либо многословны, либо очень сложны для реализации в пользовательской среде.PHPBackend PHP представляет функции serialize()
и unserialize()
для сериализации любого значения PHP (строки, целые числа, объекты, NULL, массивы, перечисления и т. д.) и восстановление PHP-значения из этого строкового представления.PHPBackend В PHP 8.3 добавлена новая функция названая json_validate
, возвращающая true
или false
в зависимости от того, является ли заданная строка допустимой JSON-строкой.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 изменил правила игры. В этом руководстве я рассмотрю все последние нововведения с реальными примерами того, как я могу их использовать.PHPBackend Недавно я опубликовал статью об улучшении PHP кода с помощью интерфейсов. Она охватывает основы того что такое интерфейс, что он может делать. И как вы можете использовать его сделав свой PHP код более расширяемым и поддерживаемым. Один из вопросов, заданных в комментариях к статье был от разработчиков, которые хотели знать "когда я должен использовать интерфейс вместо абстрактного класса?". Я подумал и решил написать статью, что бы объяснить различия между абстрактными классами и интерфейсами в PHP и дать краткий обзор того, когда вы должны использовать каждый из них.PHPBackend В программировании важно убедится, что ваш код легко читается, поддерживается, расширяется и тестируется. Один из способов улучшить эти факторы — использовать интерфейсы.