PHP에서 OOP 네임스페이스 접근 간소화
다음과 같은 Controller 클래스가 있다고 가정합니다:
<?php
namespace Admin;
class Controller
{
}
?>
Controller 클래스를 상속하는
Page 클래스도 있다고 가정합니다:
<?php
namespace Admin;
class Page extends \Admin\Controller
{
}
?>
보시다시피, 상속 시에는 네임스페이스와 함께 부모 클래스 이름을 지정합니다. 그러나 이 예시에는 미묘한 차이가 있습니다: 두 클래스 모두 동일한 네임스페이스에 속해 있습니다. 이 경우 클래스에 접근할 때는 단순히 클래스 이름만 써도 됩니다, 다음과 같이:
<?php
namespace Admin;
class Page extends Controller
{
}
?>
두 개의 클래스가 주어집니다:
<?php
namespace Modules\Shop;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Cart
{
}
?>
두 클래스가 동일한 네임스페이스에 있다는 점을 고려하여, 클래스 상속 코드를 간소화하세요.