Подскажите, пожалуйста, что это такое и правильно ли я понимаю?
P.S С ооп знаком, детально изучаю.
Вот в yii2 Yii::$app->session->setFlash
Yii::$app - тут как я понимаю:
Yii это(пространство имен) сокращено название куда обращаться к классу Yii.
Далее :: это мы обращаемся свойству $app класса Yii.
А вот далее не понятно, -> это обращение к методу(насколько я понимаю) в котором обращаемся к методу setFlash?
Верно понимаете.
Yii - это класс, :: - обращение к статическому объекту $app, ->session обращение к публичному объекту session объекта $app, ->setFlash соответстветственно так же обращение к объекту
Прекрасно, спасибо. Если не сложно, тогда дайте ответ на очень важный вопрос) Статические методы и объекты. Почему назвали статические? Я понимаю что если добавить static, то можно к ним обращаться без создания экземпляра класса, но всё же почему именно статический?
KidsBout: Статические объекты - те объекты, которые не имеют возможности использовать переменные/объекты класса, ибо они доступны только после инициализации. Во фреймворках их используют чисто для удобства синтакса (Yii::$app легче писать, чем инициализировать класс, засоряя глобальную видимость переменными).
Объект может выдавать в ответе экземпляр класса (self, либо другой класс), или объект. Тогда можно обращаться к вложенному классу.
KidsBout: Советую все-же для начала поработать с Laravel, порог вхождения ниже. Как разберетесь - есть шанс что не захотите с него уходить, но если захотите уже можно изучать Yii.
Синтакс и работа с Yii в разы сложнее. Слишком строгая типизация, и т.д.