Как я могу вызвать нестатическую функцию из абстрактного класса в PHP 8?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу вызвать нестатическую функцию из абстрактного класса в PHP 8?

Сообщение Anonymous »


Я хочу обновить наш текущий проект, работающий на PHP 7.2, но у меня возникла проблема, которую не могу легко решить.

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

В качестве временного решения я рассмотрел преобразование getCategories в статический метод. Однако меня беспокоят возможные побочные эффекты, которые это изменение может иметь для проекта.

Есть ли у кого-нибудь предложения по решению этой ситуации в PHP 8? В идеале я ищу решение, которое позволяет избежать изменения статического/нестатического статуса метода, но при этом соответствует более строгим стандартам PHP 8.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»