如何檢查靜態類是否已被聲明? 前 鑑於類Php檢查是否聲明瞭靜態類
class bob {
function yippie() {
echo "skippie";
}
}
在後面的代碼如何檢查:
if(is_a_valid_static_object(bob)) {
bob::yippie();
}
,所以我不明白: 致命錯誤:類「鮑勃」在file.php上未找到線3
如何檢查靜態類是否已被聲明? 前 鑑於類Php檢查是否聲明瞭靜態類
class bob {
function yippie() {
echo "skippie";
}
}
在後面的代碼如何檢查:
if(is_a_valid_static_object(bob)) {
bob::yippie();
}
,所以我不明白: 致命錯誤:類「鮑勃」在file.php上未找到線3
您還可以檢查,具體的方法的存在,即使沒有實例化類
echo method_exists(bob, 'yippie') ? 'yes' : 'no';
如果你想多走一步,並確認「開心辭典」實際上是靜態的,使用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
}
}
bool class_exists(string $class_name [, bool $autoload ]
)
This function checks whether or not the given class has been defined.