Показать сообщение отдельно

  #6  
Старый 10.05.2022, 23:03
Mex-Vision
Постоянный
Регистрация: 01.03.2016
Сообщений: 828
С нами: 5368054

Репутация: 448


По умолчанию

Цитата:
Сообщение от EasyGameProtection  

Этот момент решается индивидуально для каждого из языков.
Для PHP можно юзать что-то типа

PHP:


Код:
/** @var FooClass */
$foo
=
$container
-
>
get
(
'foo'
)
;
Или же с версии 7.4 для свойств классов можно указывать тип

PHP:


Код:
private
FooClass
$foo
;
Конкретно в моем случае все немного проще, я могу указать какой тип возвращается из контейнера
Ну вот мне было интересно как с этим работают в контексте php. Каждый раз при использовании писать аннотацию не сильно прикольно. Хорошим ли тоном будет создать фасад, например App.php, в нем сделать статик методы которые будут брать из контейнера компоненты, например:

PHP:


Код:
class
App
extends
Facade
{
public
static
function
getFoo
(
)
:
FooInterface
{
return
static
:
:
$app
-
>
get
(
'foo'
)
;
}
}
$foo
=
App
:
:
getFoo
(
)
;
И обращаться всегда через фасад, метод которого знает тип возвращаемого значения.
 
Ответить с цитированием