Статические методы в интерфейсах

Правильно ли называть конструкции вида Cache::get(‘key’) в Laravel статическими «интерфейсами»?

 

Нет. Cache — это класс, пусть и из лютой чёрной магии состоящий
— Добавлено —
В терминологии ларки — фасад

 

Скажите, по своей сути фасады что представляют, статические методы класса? В документации написано так: «Фасады предоставляют «статический» интерфейс для классов, доступных в контейнере служб приложения.»

 

Там магия. Они перехватывают вызовы через магический метод __callStatic, переадресуя его классам из того самого контейнера служб. Плюс какими-то трюками с автозагрузкой делают фасады доступными из корневого неймспейса, что, в принципе, не сильно гуд.
— Добавлено —
Кстати, в доке про это есть

 

Это отдельная магия Laravel, не фасадами реализуемая, а «алиасами классов». Если алиас явно не описан в config/app.php, он автоматом резолвиться не будет!

 

[offtopic]
Слава разрабам PHPStorm и его плагинов! Благодаря им мы в IDE можем видеть сигнатуры методов даже за этой лютой магией!
[/offtopic]

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *