Как платформа Themosis может вызывать функцию в классе, который не существует?

Я смотрел на Темозные рамки для WordPress и видел в своих документах, что для создания пользовательского типа записи вы бы назвали:

PostType::make('slug-books', 'Books', 'Book')->set();

Я предположил, что PostType должен быть класс со статической функцией make, Тем не менее, глядя на их код Я не нашел PostType учебный класс.

Как они могут вызывать функцию в классе, который не существует?

Я могу отчасти видеть, как Application класс используется для хранения instances классов, когда они вызываются, но я не вижу, как приведенный выше код вызовет создание классов.

0

Решение

Я разработчик Themosis Framework. Этот «трюк» очень вдохновлен рамками Laravel, где все кредиты есть.

Мы используем шаблон фасада, чтобы заставить это работать. В основном мы используем магический метод PHP __callStatic (), а за ним мы устанавливаем статический метод для связи с методом экземпляра.

Проверьте документацию здесь: http://php.net/manual/en/language.oop5.overloading.php#object.callstatic

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]