Можно ли вызвать статический метод trait в php, не подключая его к какому то классу?

Если коротко — нельзя.

Вызвать какой метод трейта напрямую без подключения его к классу невозможно, т.к. трейты в PHP не являются самостоятельными сущностями, как классы или объекты.

Трейт — это механизм «вклейки» кода в класс. Он не компилируется как отдельная единица и не может быть вызван или использован до тех пор, пока не будет подключён к какому-то классу через use.

Вот так работать не будет:

Можно создать класс-обертку, чтобы получить методы trait.

Если вам нужен «набор функций», вызываемых напрямую — лучше использовать final class с static методами. Трейты нужны, когда вы хотите добавить функциональность в несколько классов, а не вызывать методы напрямую.

Написать комментарий

Мало букафф? Читайте есчо !

Конвертируем HTML в PDF

Ноябрь 6, 2012 г.

Есть разные пути, простые и сложные (вплоть до написания своей PHP библиотеки для конвертации HTML в PDF). Но мы трудным путем не пойдем, а воспользуемся готовым сервером, выполняющим данный экспорт. Для самых ленивых приведу пример его использования ...

Читать

Как определить ip адрес посетителя сайта в PHP

Ноябрь 13, 2015 г.

PHP не имеет каких то специальных средств для определения ip адреса. Эту информацию ему поставляет веб-сервер в виде переменных окружения. Используя ...

Читать

 

Комментарии к «Можно ли вызвать статический метод trait в php, не подключая его к какому то классу?»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: