gpt4 book ai didi

Php 检查是否声明了静态类

转载 作者:可可西里 更新时间:2023-10-31 23:03:20 26 4
gpt4 key购买 nike

如何检查静态类是否已声明?前任给定类

class bob {
function yippie() {
echo "skippie";
}
}

稍后在代码中我如何检查:

if(is_a_valid_static_object(bob)) {
bob::yippie();
}

所以我没有得到: fatal error :在第 3 行的 file.php 中找不到类“bob”

最佳答案

即使不实例化类,您也可以检查特定方法是否存在

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
}
}

关于Php 检查是否声明了静态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/123718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com