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

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

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

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

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

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

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

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

Загрузка-выгрузка в формате excel из PHP

Август 25, 2017 г.

Встроенные библиотеки PHP не позволяют работать с форматами данных популярного табличного процессора Excel. За исключением текстового формата CSV (см. ...

Читать

Досрочный выход, остановка цикла в PHP

Ноябрь 11, 2015 г.

Досрочно закончить исполнение цикла в PHP можно разными способами. Хотя конструкций циклов в PHP много, но принципы одинаковые. Для примера будем использовать цикл for. [crayon-69dd25ed3fe2a990870359/] Цикл досрочно завершится с помощью оператора break ...

Читать

Импорт материалов из Instagram

Август 27, 2018 г.

У instagram есть API, который устареет до конца 2018 года. Всех пересаживают на новую платформу -  Instagram Graph API. Регистрация приложения на этой ...

Читать

Валидатор для JSON строки в PHP

Октябрь 2, 2018 г.

К JSON можно относиться как к одной из разновидностей текстовых форматов передачи данных. Но для PHP это просто ещё одна скалярная строка. Как определить, что перед нами действительно JSON? Чтобы убедиться, придется попытаться декодировать строку. ...

Читать
 

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

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



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