在php上获取对象名称作为字符串?

时间:2015-06-06 11:46:14

标签: php

所以我得到了这个源代码

//get activated bundles
$bundle_list = new AutoRouter('dev',true);
$bundle_list = $bundle_list->getActivatedBundles(); 

for($a =0; $a < sizeof($bundle_list); $a++)
{
    var_dump($bundle_list[$a]);
}

转储返回多个这样的对象

object(Symfony\Bundle\FrameworkBundle\FrameworkBundle)[38]
  protected 'name' => null
  protected 'extension' => null
  protected 'path' => null
  protected 'container' => null

object(Symfony\Bundle\SecurityBundle\SecurityBundle)[41]
  protected 'name' => null
  protected 'extension' => null
  protected 'path' => null
  protected 'container' => null

object(Symfony\Bundle\TwigBundle\TwigBundle)[40]
  protected 'name' => null
  protected 'extension' => null
  protected 'path' => null
  protected 'container' => null

我需要将对象名称提取为字符串,如下所示:

(string) "Symfony\Bundle\FrameworkBundle\FrameworkBundle"
(string) "Symfony\Bundle\SecurityBundle\SecurityBundle"
(string) "Symfony\Bundle\TwigBundle\TwigBundle"

这样的东西
for($a =0; $a < sizeof($bundle_list); $a++)
{
    var_dump((string) $bundle_list[$a]);
}

1 个答案:

答案 0 :(得分:3)

你有几种方法可以在php中打印一个类名:

  1. get_class:返回对象类的名称。如果在非对象上调用该函数,您将收到警告

  2. ClassName::class:自PHP 5.5起,我们可以访问类的完全限定名称。

  3. 希望这会对你有所帮助。