Проверка Php, Если Статический Класс Объявляется

По-видимому, существует очень компактный способ сделать это:

constructor(private router: Router) {}

ngOnInit() {
  console.log('configured routes: ', this.router.config);
}
9
задан Hubert Kario 6 February 2012 в 00:27
поделиться

2 ответа

Можно также проверить на существование определенного метода, даже не инстанцируя класса

echo method_exists( bob, 'yippie' ) ? 'yes' : 'no';

Если Вы хотите пойти один шаг вперед и проверить, что "хиппи" на самом деле статичен, используйте API Reflection (только PHP5)

try {
    $method = new ReflectionMethod( 'bob::yippie' );
    if ( $method->isStatic() )
    {
        // verified that bob::yippie is defined AND static, proceed
    }
}
catch ( ReflectionException $e )
{
    //  method does not exist
    echo $e->getMessage();
}

или, Вы могли объединить два подхода

if ( method_exists( bob, 'yippie' ) )
{
    $method = new ReflectionMethod( 'bob::yippie' );
    if ( $method->isStatic() )
    {
        // verified that bob::yippie is defined AND static, proceed
    }
}
16
ответ дан 4 December 2019 в 08:54
поделиться

bool class_exists( string $class_name [, bool $autoload ])

Эта функция проверяет, был ли данный класс определен.

8
ответ дан 4 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: