ホームページ > php教程 > php手册 > PHPはクラス内の現在のクラス名を取得します

PHPはクラス内の現在のクラス名を取得します

WBOY
リリース: 2016-06-21 09:04:59
オリジナル
1346 人が閲覧しました

php 4.3 以降では、現在のクラス名を取得するために使用される新しいマジック定数 __CLASS__ が追加されました。しかし、以下のコードでは機能しません。

クラス A {
関数 showclass() {
echo __CLASS__;
}
}
クラス B は A を拡張します {}

A::showclass();
B::showclass();
このコードは、予期される AB の代わりに 2 つの A を出力します。

次のコードは debug_backtrace を使用して現在のクラス名を取得します。残念ながら、php5 以降でのみ動作します。テスト結果はすべて AA-___-

です。

class A {

function showclass() { $backtrace = debug_backtrace();
echo $backtrace[0]['class'];
}
}

class B extends A {}

php4/php5で動作するコードを追加します

class A {

function showclass() { $backtrace = debug_backtrace();
echo ((int)PHP_VERSION> 4) ?
get_class($backtrace[0]['object']) : $backtrace[0] ['クラス'];
}
}
クラス B は A {} を拡張します



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート