Heim  >  Artikel  >  Backend-Entwicklung  >  PHP erhält Klassennamen ohne Namespace

PHP erhält Klassennamen ohne Namespace

步履不停
步履不停Original
2019-06-21 16:01:014584Durchsuche

PHP erhält Klassennamen ohne Namespace

方法很多,列出几个,以供参考。

  • Laravel 源码里扒出来的 class_basename 辅助函数

    basename(str_replace('\\', '/', $class));
  • substr 实现

    substr(strrchr($class, "\\"), 1);
    // or
    substr($class, strrpos($class, '\\') + 1);
  • explode 实现

    array_pop(explode('\\', $class));
  • ReflectionClass 实现

    (new \ReflectionClass($class))->getShortName();

其中,ReflectionClass 是最快最保险的方案,但此类必须实际存在,不存在则会抛出 ReflectionException: Class \Foo\Bar does not exist

更多PHP相关技术文章,请访问PHP教程栏目进行学习!

Das obige ist der detaillierte Inhalt vonPHP erhält Klassennamen ohne Namespace. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn