Я смотрел на Темозные рамки для WordPress и видел в своих документах, что для создания пользовательского типа записи вы бы назвали:
PostType::make('slug-books', 'Books', 'Book')->set();
Я предположил, что PostType
должен быть класс со статической функцией make
, Тем не менее, глядя на их код Я не нашел PostType
учебный класс.
Как они могут вызывать функцию в классе, который не существует?
Я могу отчасти видеть, как Application
класс используется для хранения instances
классов, когда они вызываются, но я не вижу, как приведенный выше код вызовет создание классов.
Я разработчик Themosis Framework. Этот «трюк» очень вдохновлен рамками Laravel, где все кредиты есть.
Мы используем шаблон фасада, чтобы заставить это работать. В основном мы используем магический метод PHP __callStatic (), а за ним мы устанавливаем статический метод для связи с методом экземпляра.
Проверьте документацию здесь: http://php.net/manual/en/language.oop5.overloading.php#object.callstatic
Других решений пока нет …