네임 스페이스없이 클래스 이름을 얻는 방법을 다루기 전에 먼저 네임 스페이스의 개념을 이해해 봅시다.
네임 스페이스는 PHP 5.3의 새로운 기능으로 충돌이없는 다른 파일에서 동일한 클래스 이름을 사용할 수 있습니다. 네임 스페이스를 통해 개발자는 특히 대규모 애플리케이션을 개발할 때 코드를 더 잘 구성하고 관리 할 수 있습니다. 네임 스페이스는 특히 중요합니다.
PHP에서 네임 스페이스는 키워드 네임 스페이스를 사용하여 정의됩니다. 네임 스페이스를 통해 프로그램의 네임 스페이스를 정의 할 수 있습니다. 구체적인 예는 다음과 같습니다.
namespace my_namespace;
여러 네임 스페이스는 다음과 같이 동일한 파일로 정의 할 수도 있습니다.
namespace my_namespace1;
namespace my_namespace2;
클래스가 네임 스페이스에 정의 된 경우 전체 클래스 이름 경로를 사용하여 클래스를 참조해야합니다.
new my_namespace\MyClass();
사용 키워드를 사용하여 클래스에 대한 참조를 단순화하십시오.
use my_namespace\MyClass;
$obj = new MyClass();
때로는 네임 스페이스없이 클래스 이름을 가져와야합니다. 이 경우 PHP 내장 기능 class_basename ()을 사용하여 얻을 수 있습니다.
class_basename () 함수는 네임 스페이스가없는 네임 스페이스로 클래스 이름의 일부를 추출 할 수 있습니다.
$className = class_basename('App\Http\Controllers\Controller');
// $className가치는입니다'Controller'
class_basename ()는 네임 스페이스가있는 클래스 이름에만 적합하다는 점에 유의해야합니다. 네임 스페이스없이 클래스 이름을 가져와야하는 경우 클래스 가 존재하는지 확인한 다음 클래스 _basename ()을 사용하는 것이 좋습니다.
네임 스페이스없이 클래스 이름을 얻는 또 다른 방법은 get_class () 함수를 사용하는 것입니다.
$obj = new MyClass();
$className = get_class($obj);
// $className가치는입니다'MyClass'
get_class ()를 사용하는 경우 클래스 이름 문자열이 아닌 클래스의 객체를 전달해야합니다. 이 방법은 네임 스페이스없이 클래스 이름을 얻는 데만 적합합니다.
이 기사는 네임 스페이스의 기본 개념과 PHP에서 네임 스페이스를 사용하는 방법을 소개합니다. 또한 네임 스페이스없이 클래스 이름을 얻기위한 두 가지 일반적인 방법 인 class_basename () 및 get_class ()를 자세히 설명했습니다. 이 기사가 개발자가 PHP의 클래스 및 네임 스페이스를보다 효율적으로 관리하는 데 도움이되기를 바랍니다.