Вопрос по ООП синтаксис

Sanchis

Новичок
Доброго времени. В фреймворке Ларавел есть такая конструкция, ну например:

PHP:
DB::table('users')->get();
Так вот, код
PHP:
DB::table('users');
понятен, не понятно каким образом статичный метод table класса DB ссылается еще на один метод get()? Как это работает не могу догнать?

Обшарил интернет но дело в том что я даже не знаю как набрать правильно в поиск чтобы найти именно это? Думаю некоторые скажут искать ООП, но не видел я там такого синтаксиса, будьте добры подскажите где это объясняют?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Sanchis, статичный метод не ссылается, а возвращает экземпляр класса.
 

Kotofey

FloodMaster.
Доброго времени. В фреймворке Ларавел есть такая конструкция, ну например:

PHP:
DB::table('users')->get();
Так вот, код
PHP:
DB::table('users');
понятен, не понятно каким образом статичный метод table класса DB ссылается еще на один метод get()? Как это работает не могу догнать?

Обшарил интернет но дело в том что я даже не знаю как набрать правильно в поиск чтобы найти именно это? Думаю некоторые скажут искать ООП, но не видел я там такого синтаксиса, будьте добры подскажите где это объясняют?
статический метод table() имеет в себе возвращение какого-то объекта необходимой таблицы return object; , а вот сам уже возвращаемый объект предоставляет метод get() к которому таким путем можно обратиться )
 

Absinthe

жожо
это в ларавере такой говнокод? мимими))
Тебе и до Ларавела далеко.

Но говнокод в Ларавеле отменный.
И дело не в говнокоде даже, а в том, что Тайлер за неделю до релиза изменяет стиль на PSR-2, sass на less, а в elixir порядок параметров.
Использовать такое в продакшене? У меня как-то желание пропало.
 

AmdY

Пью пиво
Команда форума
Absinthe, э, не придумывай, полный переход на PSR-2 это фича будущего 5.1 или 6.0, если Тейлор опять увлечётся.
 

hell0w0rd

Продвинутый новичок
Естественно говнокод. Фасад - это синглтон, в котором логика вынесена в отдельный класс-сервис, а пользуются этим сервисом исключительно через глобальный объект, фасад, синглтон то есть.
Вы якобы можете использовать сервис по человечески, но на практике никто этого не делает. Иллюзия чистого кода.
 

vitus

мимо проходил
По мне, так это фабрика , а вторую сентенцию я ваще нихрена не понял :)
в смысле можете но не делаете, ну так это Ваши собственные тараканы наверное.
 

fixxxer

К.О.
Партнер клуба
Естественно говнокод. Фасад - это синглтон, в котором логика вынесена в отдельный класс-сервис, а пользуются этим сервисом исключительно через глобальный объект, фасад, синглтон то есть.
Вы якобы можете использовать сервис по человечески, но на практике никто этого не делает. Иллюзия чистого кода.
Ну как никто не делает. Я как минимум делаю, это уже не никто. :) В 5-ке вообще фасады фактически deprecated в пользу контрактов.

А, скажем, в миграциях/сидах в дергании фасадов Schema/Db/Table не вижу ничего проблемного.
 

fixxxer

К.О.
Партнер клуба
И дело не в говнокоде даже, а в том, что Тайлер за неделю до релиза изменяет стиль на PSR-2, sass на less, а в elixir порядок параметров.
Использовать такое в продакшене? У меня как-то желание пропало.
Он человек увлекающийся процессом, и до сих пор делает прежде всего для себя, for lulz. Это вроде сразу заметно было =)
 

Absinthe

жожо
Он человек увлекающийся процессом, и до сих пор делает прежде всего для себя, for lulz. Это вроде сразу заметно было =)
Мне не сразу. Я сначала подумал, что это фреймворк, на котором можно делать сайты в продакшн.
Но в пятерке с новой системой сборки так нахуеверчено....
 

hell0w0rd

Продвинутый новичок
Absinthe, так не используй систему сборки из ларавела. Все существующие системы сбоки достаточно просты, чтобы самостоятельно разобраться.
Я вообще не понимаю ваших выпадов на тему less/sass, elixir/что-там-до-этого-было. Нафига frontend привязывать к технологиям бэкенда?
 
Сверху