一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP is_subclass_of函數(shù)的一個(gè)BUG和解決方法

is_subclass_of的作用:

復(fù)制代碼 代碼如下:bool is_subclass_of ( object object, string class_name )
如果對象 object 所屬類是類 class_name 的子類,則返回 TRUE,否則返回 FALSE。
注: 自 php 5.0.3 起也可以用一個(gè)字符串來指定 object 參數(shù)(類名)。

使用例子:
復(fù)制代碼 代碼如下:
#判斷$className是否是$type的子類
is_subclass_of($className,$type);

php5.3.7版本前針對interface會(huì)有一個(gè)bug

bug:https://bugs.php.NET/bug.php?id=53727
復(fù)制代碼 代碼如下:
interface MyInterface {}
class ParentClass implements MyInterface { }
class ChildClass extends ParentClass { }

# true
is_subclass_of('ChildClass', 'MyInterface');
# false
is_subclass_of('ParentClass', 'MyInterface');

解決辦法:

復(fù)制代碼 代碼如下:function isSubclassOf($className, $type){
    // 如果 $className 所屬類是 $type 的子類,則返回 TRUE  
    if (is_subclass_of($className, $type)) {
        return true;
    }

    // 如果php版本>=5.3.7 不存在interface bug 所以 $className 不是 $type 的子類
    if (version_compare(php_VERSION, '5.3.7', '>=')) {
        return false;
    }

    // 如果$type不是接口 也不會(huì)有bug 所以 $className 不是 $type 的子類
    if (!interface_exists($type)) {
        return false;
    }

    //  創(chuàng)建一個(gè)反射對象
    $r = new ReflectionClass($className);
    //  通過反射對象判斷該類是否屬于$type接口
    return $r->implementsInterface($type);
}

php技術(shù)PHP is_subclass_of函數(shù)的一個(gè)BUG和解決方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 狠狠色伊人亚洲综合网站l 狠狠色伊人亚洲综合网站色 | 欧美特黄a级高清免费看片 欧美特黄a级片 | 久久老司机波多野结衣 | www.av在线播放 | www.91久久| 亚洲精品第四页中文字幕 | 免费视频黄 | 视频一区二区三区在线观看 | 亚洲欧美另类国产综合 | 狂野欧美性猛交xxxx免费按摩 | 综合色88| 日韩精品久久久免费观看夜色 | 真实乱视频国产免费观看 | 欧美高清在线观看视频 | 大胆gogo999亚洲肉体艺术 | 男人猛桶女人下面视频国产 | 国产成人精品永久免费视频 | 狂野欧美性猛交xxxx巴西 | 日韩亚洲欧洲在线com91tv | 色综色天天综合网 | 欧美激情精品久久久久久大尺度 | 日韩视频第一页 | 亚洲综合久 | 国模青青丰满人体大尺度展示 | 色多多网 | 好吊操这里只有精品 | 伊人不卡久久大香线蕉综合影院 | 欧美高清另类videosbestsex | 欧美精品一国产成人性影视 | 国产欧美精品一区二区三区四区 | 最新97超级碰碰碰碰久久久久 | 亚洲 激情| 日韩三级一区二区 | xxxxx国产 | 成人在线免费 | 色一色在线观看视频网站 | 综合精品视频 | 四虎影视亚洲精品 | 国内xxxx乱子另类 | 亚洲aaaa级特黄毛片 | 影音先锋中文在线 |