⊗ppOpNsCA 104 of 107 menu

PHP OOP 네임스페이스에서의 클래스 별칭

서로 다른 네임스페이스에 속하는 두 개의 Data 클래스가 있다고 가정해 보겠습니다. 어떤 클래스에서 이 두 클래스의 객체가 모두 필요하다고 해보죠:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // 객체 생성 $data2 = new \Core\Admin\Data; // 객체 생성 } } ?>

use 명령을 통해 클래스 호출을 단순화하기로 결정했다고 가정해 보겠습니다. 이 경우 문제가 발생합니다: 두 클래스 모두 Data라는 이름을 가지고 있어 이름 충돌이 일어납니다:

<?php namespace Project; // 이름 충돌이 발생합니다: use \Core\Users\Data; // 첫 번째 클래스 연결 use \Core\Admin\Data; // 두 번째 클래스 연결 class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

이 문제를 해결하기 위해, 연결되는 클래스에 별칭 — 해당 파일에서 접근할 이름 — 을 지정할 수 있게 해주는 특별한 as 명령이 존재합니다. Data 클래스들의 이름을 변경해 봅시다:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

use를 사용하여 다음 코드를 단순화하세요:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

use를 사용하여 다음 코드를 단순화하세요:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부