Что такое инкапсуляция/наследование/полиморфизм?
Инкапсуляция. Это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает их от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект. Т.е. переменные состояния объекта скрыты от внешнего мира. Изменение состояния объекта (его переменных) возможно ТОЛЬКО с помощью его собственных методов. Можно сказать, что инкапсуляция подразумевает под собой сокрытие данных, что позволяет эти данные защитить.
Наследование. Это процесс, посредством которого один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него.
Полиморфизм. Это свойство, которое позволяет одно и то же имя использовать для решения нескольких технически разных задач. Проще говоря, концепцией полиморфизма является идея “один интерфейс, множество реализаций”. Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
#вопросы_с_собеседований
Инкапсуляция. Это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает их от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект. Т.е. переменные состояния объекта скрыты от внешнего мира. Изменение состояния объекта (его переменных) возможно ТОЛЬКО с помощью его собственных методов. Можно сказать, что инкапсуляция подразумевает под собой сокрытие данных, что позволяет эти данные защитить.
Наследование. Это процесс, посредством которого один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него.
Полиморфизм. Это свойство, которое позволяет одно и то же имя использовать для решения нескольких технически разных задач. Проще говоря, концепцией полиморфизма является идея “один интерфейс, множество реализаций”. Это означает, что можно создать общий интерфейс для группы близких по смыслу действий.
#вопросы_с_собеседований
👍16🥱13
Список просмотров страницы в реальном времени с помощью Livewire
Статья рассказывает о решении проблемы взаимодействия операторов в системе электронной коммерции, где несколько операторов могут работать с одним заказом. Исходное решение было автоматической системой распределения заказов между операторами, но оно не учитывало отпуска операторов и сложность заказов. В статье предлагается решение под названием "On this page", которое позволяет операторам видеть, если кто-то уже просматривает заказ, и избегать пересечения работы.
Решение использует Laravel, Redis и Livewire. Оно отслеживает, какие страницы просматриваются операторами, и отображает список пользователей, просматривающих данную страницу. В статье предоставлен код для создания компонента Livewire "On this page" и шаблона для отображения пользователей.
Статья рассказывает о решении проблемы взаимодействия операторов в системе электронной коммерции, где несколько операторов могут работать с одним заказом. Исходное решение было автоматической системой распределения заказов между операторами, но оно не учитывало отпуска операторов и сложность заказов. В статье предлагается решение под названием "On this page", которое позволяет операторам видеть, если кто-то уже просматривает заказ, и избегать пересечения работы.
Решение использует Laravel, Redis и Livewire. Оно отслеживает, какие страницы просматриваются операторами, и отображает список пользователей, просматривающих данную страницу. В статье предоставлен код для создания компонента Livewire "On this page" и шаблона для отображения пользователей.
ahmedash.dev
Livewire Real Time Presence
Exploring Laravel and its features deeply. Making complex ideas easy to understand.
❤5👍5
Здесь рассказывается об опыте разработчика, который столкнулся с проблемой производительности в своем приложении, использующем Symfony/Doctrine и PostgreSQL для работы с финансовыми операциями и тегами. Проблема возникла из-за медленных запросов, связанных с агрегацией данных по тегам.
Автор рассматривает альтернативные решения и выбирает ClickHouse для агрегации больших объемов данных, избегая дорогостоящих джойнов. Он также сохраняет PostgreSQL для операций, которые не требуют агрегации больших объемов данных.
Решение помогло улучшить производительность и оставить ClickHouse в резерве для будущих увеличений нагрузки.
Автор рассматривает альтернативные решения и выбирает ClickHouse для агрегации больших объемов данных, избегая дорогостоящих джойнов. Он также сохраняет PostgreSQL для операций, которые не требуют агрегации больших объемов данных.
Решение помогло улучшить производительность и оставить ClickHouse в резерве для будущих увеличений нагрузки.
Хабр
Вы вообще нормальн… нормализованный??
Сказ о том, как нормализация данных завела производительность many-to-many в Postgres в тупик, как это зло было повержено, и как тут нам помог Clickhouse. Порой бывают ситуации, когда стоит посмотреть...
👍5⚡1🥱1
Как бы вы импортировали 50-гигабайтный файл xml в базу данных?
👍5🥱2
В статье рассматривается проблема написания тестов для класса, который использует пакет Browsershot для генерации PDF-файлов. Автор начинает с введения в необходимость создания приложений, способных экспортировать отчеты или страницы в формат PDF, и упоминает ранее использованные библиотеки для этой задачи. Затем он представляет Browsershot как один из лучших пакетов для генерации PDF, обосновывая его простотой настройки.
Однако основная проблема, с которой сталкиваются разработчики, заключается в написании тестов для классов, использующих Browsershot. Тесты, выполняемые с помощью Browsershot, могут быть медленными и зависимыми от интернет-соединения. Это может вызвать проблемы, если есть несколько классов, использующих Browsershot, или если нет доступа к интернету. Кроме того, это может увеличить затраты на тестирование, если используется платная услуга для тестирования.
Автор предлагает решение этой проблемы с использованием библиотеки Mockery для имитации поведения класса и проверки вызовов его методов. Он также обсуждает сложности, связанные с мокированием статических методов в Browsershot, и предлагает альтернативный метод с использованием инъекции зависимостей. Это позволяет сделать мокирование более эффективным и улучшить тестируемость класса.
Однако основная проблема, с которой сталкиваются разработчики, заключается в написании тестов для классов, использующих Browsershot. Тесты, выполняемые с помощью Browsershot, могут быть медленными и зависимыми от интернет-соединения. Это может вызвать проблемы, если есть несколько классов, использующих Browsershot, или если нет доступа к интернету. Кроме того, это может увеличить затраты на тестирование, если используется платная услуга для тестирования.
Автор предлагает решение этой проблемы с использованием библиотеки Mockery для имитации поведения класса и проверки вызовов его методов. Он также обсуждает сложности, связанные с мокированием статических методов в Browsershot, и предлагает альтернативный метод с использованием инъекции зависимостей. Это позволяет сделать мокирование более эффективным и улучшить тестируемость класса.
DEV Community
Mocking Browsershot library in your tests
In our journey as developers, we often find ourselves creating applications that need to export...
👍3❤1
Видео: PHP больше не отстой
PHP в 2023 году сильно отличается от PHP в 2012, в видео рассказывается о фишках, которые появились за это время, благодаря которым PHP не только не теряет популярность, а наоборот, становится еще более востребованным.
PHP в 2023 году сильно отличается от PHP в 2012, в видео рассказывается о фишках, которые появились за это время, благодаря которым PHP не только не теряет популярность, а наоборот, становится еще более востребованным.
YouTube
PHP doesn't suck (anymore)
PHP in 2023 is very different than PHP in 2012. Let's run through some of the changes!
Looking for PHP jobs or looking to hire PHP devs? Check out Larajobs: https://larajobs.com/?partner=108
Follow me:
Twitter: https://twitter.com/aarondfrancis
LinkedIn:…
Looking for PHP jobs or looking to hire PHP devs? Check out Larajobs: https://larajobs.com/?partner=108
Follow me:
Twitter: https://twitter.com/aarondfrancis
LinkedIn:…
💯15🌚6👍3❤1🥱1
Новый #дайджест новостей по PHP за неделю:
🔎 Выпущена версия PhpStorm 2023.2.2, включающая множество исправлений ошибок и улучшений качества работы.
🔎Выпущена версия Laravel 10.24 — это обновление, включающее обновления поддельных заданий, помощник позиции строки, улучшения в подборе имени таблицы миграции и многое другое.
🔎PHP 8.3.0 RC 2 доступен для тестирования — Это второй кандидат на выпуск, продолжающий цикл выпуска PHP 8.3, примерный план которого указан в PHP-вики.
🔎Неделя Symfony № 872 (11–17 сентября 2023 г.) — На этой неделе Symfony объявила об окончании поддержки Twig 2 и выпуске версии безопасности для пакета symfony/ux-autocomplete.
🔎 Выпущена версия PhpStorm 2023.2.2, включающая множество исправлений ошибок и улучшений качества работы.
🔎Выпущена версия Laravel 10.24 — это обновление, включающее обновления поддельных заданий, помощник позиции строки, улучшения в подборе имени таблицы миграции и многое другое.
🔎PHP 8.3.0 RC 2 доступен для тестирования — Это второй кандидат на выпуск, продолжающий цикл выпуска PHP 8.3, примерный план которого указан в PHP-вики.
🔎Неделя Symfony № 872 (11–17 сентября 2023 г.) — На этой неделе Symfony объявила об окончании поддержки Twig 2 и выпуске версии безопасности для пакета symfony/ux-autocomplete.
👏5❤1👍1
Понимание жизненного цикла запроса, сервисного контейнера и фасадов
Здесь обсуждается важность понимания того, как работает приложение Laravel, и показан упрощенный обзор ключевых концепций. Она начинается с глоссария, где объясняются термины, такие как "Bootstrap" и "Kernel" (ядро).
В статье описывается жизненный цикл запроса в Laravel, начиная с создания экземпляра приложения, регистрации поставщиков услуг и передачи запроса загруженному приложению.
Выделено, что точкой входа в приложение Laravel является файл public/index.php, который загружает Composer для загрузки классов и извлекает экземпляр приложения Laravel. Затем запросы направляются либо в HTTP-ядро, либо в консольное ядро, которые действуют как центральные точки для обработки запросов и выполнения промежуточного программного обеспечения.
В статье также подчеркивается роль сервис-провайдеров в инициализации компонентов фреймворка, с упоминанием RouteServiceProvider как ключевого элемента для маршрутизации. Промежуточное программное обеспечение играет роль в проверке и направлении входящих запросов.
В статье также упоминается сервисный контейнер Laravel, который управляет зависимостями классов, а также поставщики услуг, которые могут быть добавлены в файл конфигурации.
Фасады описываются как удобный способ доступа к сервисам, и предоставлен фрагмент кода из файла маршрутов.
Здесь обсуждается важность понимания того, как работает приложение Laravel, и показан упрощенный обзор ключевых концепций. Она начинается с глоссария, где объясняются термины, такие как "Bootstrap" и "Kernel" (ядро).
В статье описывается жизненный цикл запроса в Laravel, начиная с создания экземпляра приложения, регистрации поставщиков услуг и передачи запроса загруженному приложению.
Выделено, что точкой входа в приложение Laravel является файл public/index.php, который загружает Composer для загрузки классов и извлекает экземпляр приложения Laravel. Затем запросы направляются либо в HTTP-ядро, либо в консольное ядро, которые действуют как центральные точки для обработки запросов и выполнения промежуточного программного обеспечения.
В статье также подчеркивается роль сервис-провайдеров в инициализации компонентов фреймворка, с упоминанием RouteServiceProvider как ключевого элемента для маршрутизации. Промежуточное программное обеспечение играет роль в проверке и направлении входящих запросов.
В статье также упоминается сервисный контейнер Laravel, который управляет зависимостями классов, а также поставщики услуг, которые могут быть добавлены в файл конфигурации.
Фасады описываются как удобный способ доступа к сервисам, и предоставлен фрагмент кода из файла маршрутов.
DEV Community
Understanding the Request Lifecycle, Service Container, and Facades
This topic may seem a bit advanced to me, but I believe it's crucial to grasp how a Laravel...
👍9🥱3❤2🤔1
Эта статья рассматривает методы проверки частей HTML-ответа в рамках HTTP-тестирования в Laravel. Автор статьи объясняет, как можно использовать компонент Symfony DomCrawler для анализа и навигации по DOM-дереву HTML-ответа и проверки важного контента.
Автор предлагает создать макрос в Laravel, который позволит более удобно использовать DomCrawler для тестирования. Этот макрос позволяет легко создавать экземпляры Crawler (объектов DomCrawler) из HTTP-ответа и выполнять различные проверки и манипуляции с DOM-деревом.
Статья также предоставляет примеры использования этого макроса, включая проверку наличия определенных элементов в HTML-ответе и извлечение определенной части DOM-дерева для дальнейшей проверки.
Автор предлагает создать макрос в Laravel, который позволит более удобно использовать DomCrawler для тестирования. Этот макрос позволяет легко создавать экземпляры Crawler (объектов DomCrawler) из HTTP-ответа и выполнять различные проверки и манипуляции с DOM-деревом.
Статья также предоставляет примеры использования этого макроса, включая проверку наличия определенных элементов в HTML-ответе и извлечение определенной части DOM-дерева для дальнейшей проверки.
Laravel News
Symfony's DomCrawler with Laravel HTTP Tests - Laravel News
Learn how easy it is to integrate Symfony's DOMCrawler component in Laravel HTTP tests.
❤4👍1
Новые каналы по PHP🎉
Готовимся к собеседованиям по PHP и проверяем себя на практических задачках: «Библиотека программиста» запустила два канала специально для PHP-разработчиков и тех, кто хочет ими стать👨🏫
Подписывайтесь:
👉Библиотека собеса по PHP — тут мы готовимся к интервью
👉Библиотека задач по PHP — тут решаем задачи, проходим тесты и изучаем код
Готовимся к собеседованиям по PHP и проверяем себя на практических задачках: «Библиотека программиста» запустила два канала специально для PHP-разработчиков и тех, кто хочет ими стать👨🏫
Подписывайтесь:
👉Библиотека собеса по PHP — тут мы готовимся к интервью
👉Библиотека задач по PHP — тут решаем задачи, проходим тесты и изучаем код
👍5❤1😍1
Валидация ключей SSH на Laravel
Здесь рассматривается разработка функционала для валидации и сохранения SSH-ключей пользователей в приложении. Автор сталкивается с задачей эффективной проверки SSH-ключей и демонстрирует свое решение.
Он создает класс с именем ValidateSsh, который использует команду ssh-keygen с флагом -lf для проверки валидности SSH-ключей. Класс сохраняет ключ как файл, выполняет команду и затем удаляет файл, если проверка прошла успешно.
Автор также создает пользовательское правило валидации с именем IsSshKeyValid и использует его в правилах валидации приложения. Он предоставляет юнит-тесты для класса ValidateSsh и HTTP-тесты, чтобы убедиться, что SSH-ключи правильно валидируются при регистрации пользователей.
Здесь рассматривается разработка функционала для валидации и сохранения SSH-ключей пользователей в приложении. Автор сталкивается с задачей эффективной проверки SSH-ключей и демонстрирует свое решение.
Он создает класс с именем ValidateSsh, который использует команду ssh-keygen с флагом -lf для проверки валидности SSH-ключей. Класс сохраняет ключ как файл, выполняет команду и затем удаляет файл, если проверка прошла успешно.
Автор также создает пользовательское правило валидации с именем IsSshKeyValid и использует его в правилах валидации приложения. Он предоставляет юнит-тесты для класса ValidateSsh и HTTP-тесты, чтобы убедиться, что SSH-ключи правильно валидируются при регистрации пользователей.
DEV Community
Validating SSH keys on Laravel
When we're called to develop an application, we should keep in mind that we might have to deal with...
❤4
Что такое динамические переменные?
Вы можете передать имя одной переменной в другую, а затем использовать эту переменную “динамически”.
Их следует использовать с большой осторожностью, так как они могут значительно усложнить как чтение, так и поддержку кода (зачастую без запуска кода невозможно понять что в переменной), однако они могут быть очень полезны в абстракциях. Документация.
#вопросы_с_собеседований
Вы можете передать имя одной переменной в другую, а затем использовать эту переменную “динамически”.
Их следует использовать с большой осторожностью, так как они могут значительно усложнить как чтение, так и поддержку кода (зачастую без запуска кода невозможно понять что в переменной), однако они могут быть очень полезны в абстракциях. Документация.
#вопросы_с_собеседований
www.php.net
PHP: Hypertext Preprocessor
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
❤6👾1
Источник читабельности
Здесь излагаются правила, следуя которым можно начать писать намного более читабельный и понятный другим людям код
Здесь излагаются правила, следуя которым можно начать писать намного более читабельный и понятный другим людям код
loup-vaillant.fr
The Source of Readability
Readability is more objective than you'd think.
👍3
Синглтоны и как их использовать
В этой статье автор выражает свою негодование по отношению к использованию синглтонов в программировании и обсуждает их недостатки. Вот основные моменты:
✅Синглтоны как глобальное состояние: Синглтоны, по мнению автора, представляют собой глобальные переменные, что делает их использование проблематичным из-за статической природы. Изменение синглтона может затронуть всю систему, что делает отладку сложной.
✅Скрытые зависимости: Синглтоны создают скрытые зависимости, так как не всегда ясно, что синглтон используется внутри класса или метода. Это усложняет понимание кода.
✅Сложности в тестировании: Использование синглтонов усложняет тестирование, так как создается жесткая зависимость от класса, который не может быть легко заменен на мок-объект в тестах.
Автор предлагает альтернативу синглтонам, основанную на принципе Dependency Injection (внедрение зависимостей) и использовании интерфейсов. Это позволяет избежать скрытых зависимостей, упрощает тестирование и делает код более понятным.
Он также отмечает, что синглтоны могут быть оправданы в случаях, когда они являются неизменными или не влияют на поведение системы при их удалении. Примерами таких синглтонов являются логгеры или сервис-локаторы.
В этой статье автор выражает свою негодование по отношению к использованию синглтонов в программировании и обсуждает их недостатки. Вот основные моменты:
✅Синглтоны как глобальное состояние: Синглтоны, по мнению автора, представляют собой глобальные переменные, что делает их использование проблематичным из-за статической природы. Изменение синглтона может затронуть всю систему, что делает отладку сложной.
✅Скрытые зависимости: Синглтоны создают скрытые зависимости, так как не всегда ясно, что синглтон используется внутри класса или метода. Это усложняет понимание кода.
✅Сложности в тестировании: Использование синглтонов усложняет тестирование, так как создается жесткая зависимость от класса, который не может быть легко заменен на мок-объект в тестах.
Автор предлагает альтернативу синглтонам, основанную на принципе Dependency Injection (внедрение зависимостей) и использовании интерфейсов. Это позволяет избежать скрытых зависимостей, упрощает тестирование и делает код более понятным.
Он также отмечает, что синглтоны могут быть оправданы в случаях, когда они являются неизменными или не влияют на поведение системы при их удалении. Примерами таких синглтонов являются логгеры или сервис-локаторы.
Ramblings about code
Singletons and how to use them - Ramblings about code
I believe it’s customary for every coding blog to have a rant about singletons, and this one is no different. It is called coderambling after all. I’m not here to tell you how to live your life, if you want to use singletons feel free to do so. But I also…
❤5👍2
Безопасные PHP API с проверкой подписи с использованием OpenSSL
Здесь обсуждается важность проверки подлинности запросов в API и прилагается руководство по реализации проверки подписи API с использованием PHP и библиотеки OpenSSL.
Основные этапы процесса проверки подписи API с использованием OpenSSL включают:
1️⃣Генерация пары ключей (открытый и закрытый) для шифрования и дешифрования данных.
2️⃣Загрузка ключей в приложении.
3️⃣Генерация подписи на стороне клиента с использованием закрытого ключа.
4️⃣Проверка подписи на стороне сервера с использованием открытого ключа.
5️⃣Использование SDK для упрощения вызовов API и проверки подписи.
Важно, что эти шаги обеспечивают безопасность обмена данными между клиентом и сервером, предотвращая подделку запросов и обеспечивая их целостность. Этот подход также обеспечивает защиту от несанкционированного доступа.
Здесь обсуждается важность проверки подлинности запросов в API и прилагается руководство по реализации проверки подписи API с использованием PHP и библиотеки OpenSSL.
Основные этапы процесса проверки подписи API с использованием OpenSSL включают:
1️⃣Генерация пары ключей (открытый и закрытый) для шифрования и дешифрования данных.
2️⃣Загрузка ключей в приложении.
3️⃣Генерация подписи на стороне клиента с использованием закрытого ключа.
4️⃣Проверка подписи на стороне сервера с использованием открытого ключа.
5️⃣Использование SDK для упрощения вызовов API и проверки подписи.
Важно, что эти шаги обеспечивают безопасность обмена данными между клиентом и сервером, предотвращая подделку запросов и обеспечивая их целостность. Этот подход также обеспечивает защиту от несанкционированного доступа.
DEV Community
Secure PHP APIs with Signature Verification Using OpenSSL
Application Programming Interfaces (APIs) are essential in web development. To ensure the security of...
👍4❤2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для джунов 👨🏻🏫
PHP-программист в Intelsib
Новосибирск. Поисковое продвижение, контекстная реклама, поисковый аудит.
Подробнее
Backend-разработчик в Itwis
Новосибирск. Разработка информационных бизнес-систем.
Подробнее
PHP-программист в ЛЕКО
Тверь. Разработка крупных интернет-проектов.
Подробнее
Backend-developer в Формула
Москва. Сеть автошкол.
Подробнее
Программист PHP в Intask
Москва. Разработка ПО для электронной торговли.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
Вакансии недели для джунов 👨🏻🏫
PHP-программист в Intelsib
Новосибирск. Поисковое продвижение, контекстная реклама, поисковый аудит.
Подробнее
Backend-разработчик в Itwis
Новосибирск. Разработка информационных бизнес-систем.
Подробнее
PHP-программист в ЛЕКО
Тверь. Разработка крупных интернет-проектов.
Подробнее
Backend-developer в Формула
Москва. Сеть автошкол.
Подробнее
Программист PHP в Intask
Москва. Разработка ПО для электронной торговли.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
novosibirsk.hh.ru
Вакансия PHP-программист (Junior) в Новосибирске, работа в компании Компания Intelsib (вакансия в архиве c 25 декабря 2023)
Зарплата: от 30000 до 40000 ₽ за месяц. Новосибирск. Требуемый опыт: не требуется. Полная занятость. Дата публикации: 22.12.2023.
😁10👍3❤1
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🦸⚡ 9 способов настройки градиента цели для поддержания мотивации
Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.
Читать статью
#саморазвитие
Разбираемся, как настроить себя идти до конца, преодолевая препятствия и лень.
Читать статью
#саморазвитие
🥱8👍2
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
👍2❤1
Принятие разумной политики поддержки версий PHP
Важность установления и соблюдения политики поддержки версий PHP для PHP-приложений и PHP-пакетов связано с тем, что PHP регулярно выпускает новые версии и прекращает поддержку старых. Автор предлагает следующие рекомендации:
✅Политика поддержки версий PHP для PHP-приложений:
Разработчики PHP-приложений должны определить, как часто они обновляют свои приложения до новых версий PHP в соответствии с жизненным циклом PHP.
Политика может определять, что приложение будет обновлено до новой версии PHP в течение определенного срока после ее выпуска.
Эта политика может быть ужесточена по мере улучшения навыков и способностей команды.
✅Политика поддержки версий PHP для PHP-пакетов:
Разработчики PHP-пакетов также должны определить, какие версии PHP они поддерживают и как часто добавляют и удаляют поддержку для этих версий.
Поддержка нескольких версий PHP в пакете может упростить обновление PHP-приложений, использующих этот пакет.
Добавление и удаление поддержки версий PHP может требовать разработки и учета изменений в новых версиях PHP.
Статья также обсуждает пользу и сложности, связанные с обновлением PHP-пакетов и приложений, а также воздействие на окружающую среду и пользователей. Автор подчеркивает важность управления ожиданиями и коммитмента к политике поддержки версий PHP для облегчения обновлений и продвижения экосистемы PHP вперед.
Важность установления и соблюдения политики поддержки версий PHP для PHP-приложений и PHP-пакетов связано с тем, что PHP регулярно выпускает новые версии и прекращает поддержку старых. Автор предлагает следующие рекомендации:
✅Политика поддержки версий PHP для PHP-приложений:
Разработчики PHP-приложений должны определить, как часто они обновляют свои приложения до новых версий PHP в соответствии с жизненным циклом PHP.
Политика может определять, что приложение будет обновлено до новой версии PHP в течение определенного срока после ее выпуска.
Эта политика может быть ужесточена по мере улучшения навыков и способностей команды.
✅Политика поддержки версий PHP для PHP-пакетов:
Разработчики PHP-пакетов также должны определить, какие версии PHP они поддерживают и как часто добавляют и удаляют поддержку для этих версий.
Поддержка нескольких версий PHP в пакете может упростить обновление PHP-приложений, использующих этот пакет.
Добавление и удаление поддержки версий PHP может требовать разработки и учета изменений в новых версиях PHP.
Статья также обсуждает пользу и сложности, связанные с обновлением PHP-пакетов и приложений, а также воздействие на окружающую среду и пользователей. Автор подчеркивает важность управления ожиданиями и коммитмента к политике поддержки версий PHP для облегчения обновлений и продвижения экосистемы PHP вперед.
Andreas Möller
Adopting a reasonable PHP version support policy
What is a PHP version support policy and why should you have one?
👍3❤2