方法很多,列出幾個,以供參考。
-
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
。