PHP 5.5に静的class
フィールドがあることを知っていますが、PHP 5.4に固執する必要があります。取得することは可能ですか?変数からの完全修飾クラス名?
例:
namespace My\Awesome\Namespace
class Foo {
}
そして、コードの他の場所:
public function bar() {
$var = new \My\Awesome\Namespace\Foo();
// maybe there's something like this??
$fullClassName = get_qualified_classname($var);
// outputs 'My\Awesome\Namespace\Foo'
echo $fullClassName
}
私はこれが古い質問であることを知っていますが、まだこれを見つけている人のために、私はこのアプローチを提案します:
namespace Foo;
class Bar
{
public static function fqcn()
{
return __CLASS__;
}
}
// Usage:
use Foo\Bar;
// ...
Bar::fqcn(); // Return a string of Foo\Bar
PHP 5.5を使用している場合は、これを簡単に実行できます。
namespace Foo;
class Bar
{}
// Usage:
use Foo\Bar;
// ...
Bar::class; // Return a string of Foo\Bar
お役に立てれば...
:: class here に関する詳細情報。