Как я могу проверить, объявлен ли статический класс? бывший Учитывая класс
class bob {
function yippie() {
echo "skippie";
}
}
позже в коде, как проверить:
if (is_a_valid_static_object(bob)) {
bob::yippie();
}
так что я не понимаю: Неустранимая ошибка: класс 'bob' не найден в file.php в строке 3






Вы также можете проверить наличие определенного метода, даже не создавая экземпляр класса.
echo method_exists( bob, 'yippie' ) ? 'yes' : 'no';
Если вы хотите пойти еще дальше и убедиться, что «yippie» на самом деле статичен, используйте Reflection API (только 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
}
}