Как я могу вызвать нестатическую функцию из абстрактного класса в PHP 8? ⇐ Php
Как я могу вызвать нестатическую функцию из абстрактного класса в PHP 8?
Я хочу обновить наш текущий проект, работающий на PHP 7.2, но у меня возникла проблема, которую не могу легко решить.
публичная функция getCategories($type){...} //В другом файле, который реализует категорию $categories = Категория::getCategories('xxx'); У меня проблема в том, что в PHP 8 вы больше не можете статически вызывать нестатические функции, но я также не могу переписать ее в $categories = (new Category)->getCategories('xxx') ; потому что это абстрактный класс.
В качестве временного решения я рассмотрел преобразование getCategories в статический метод. Однако меня беспокоят возможные побочные эффекты, которые это изменение может иметь для проекта.
Есть ли у кого-нибудь предложения по решению этой ситуации в PHP 8? В идеале я ищу решение, которое позволяет избежать изменения статического/нестатического статуса метода, но при этом соответствует более строгим стандартам PHP 8.
Я хочу обновить наш текущий проект, работающий на PHP 7.2, но у меня возникла проблема, которую не могу легко решить.
публичная функция getCategories($type){...} //В другом файле, который реализует категорию $categories = Категория::getCategories('xxx'); У меня проблема в том, что в PHP 8 вы больше не можете статически вызывать нестатические функции, но я также не могу переписать ее в $categories = (new Category)->getCategories('xxx') ; потому что это абстрактный класс.
В качестве временного решения я рассмотрел преобразование getCategories в статический метод. Однако меня беспокоят возможные побочные эффекты, которые это изменение может иметь для проекта.
Есть ли у кого-нибудь предложения по решению этой ситуации в PHP 8? В идеале я ищу решение, которое позволяет избежать изменения статического/нестатического статуса метода, но при этом соответствует более строгим стандартам PHP 8.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение