⊗ppOpNsSN 97 of 107 menu

PHP OOP의 네임스페이스

이제 더 복잡한 상황이 있다고 가정해 봅시다: 관리자를 위해 Page 클래스 두 개를 만들어야 합니다. 하나는 페이지 데이터용이고, 다른 하나는 해당 데이터의 표현용입니다. 첫 번째 클래스는 파일 /admin/data/page.php에 있고, 두 번째 클래스는 파일 /admin/view/page.php에 있다고 가정합니다.

이전 강의에서 우리는 admin 폴더의 모든 클래스가 Admin 네임스페이스에 속하기로 결정했습니다. 그러나 이제 이 동일한 네임스페이스 내에서 두 클래스가 충돌합니다. 문제를 해결하기 위해 추가적인 네임스페이스를 만들 수 있습니다. 예를 들어, Admin 네임스페이스를 만들고 그 안에 DataView 네임스페이스를 만들 수 있습니다. 이 경우, 이러한 네임스페이스의 이름은 네임스페이스를 정의할 때나 클래스 객체를 생성할 때 역슬래시로 구분하여 작성하기만 하면 됩니다.

여기서 명확히 해야 할 점은, 네임스페이스의 중첩 수준에는 제한이 없다는 것입니다 (네임스페이스 안에 네임스페이스를 만들고 그 안에 또 다른 네임스페이스를 만들 수 있습니다).

자, 이제 위에서 설명한 예제를 완성해 보겠습니다. 파일 /admin/data/page.phpPage 클래스에 대해 Admin\Data 네임스페이스를 지정하겠습니다:

<?php namespace Admin\Data; class Page { } ?>

파일 /admin/view/page.phpPage 클래스에 대해 Admin\View 네임스페이스를 지정하겠습니다:

<?php namespace Admin\View; class Page { } ?>

우리 클래스의 객체를 생성해 보겠습니다:

<?php require_once '/admin/data/page.php'; require_once '/admin/view/page.php'; $adminDataPage = new \Admin\Data\Page; $adminViewPage = new \Admin\View\Page; ?>

modules/cart 폴더가 있다고 가정합니다. 이 폴더의 모든 클래스가 Modules\Cart 네임스페이스에 속하도록 만드세요.

modules/shop/cart/ 폴더가 있다고 가정합니다. 이 폴더의 모든 클래스가 Modules\Shop\Cart 네임스페이스에 속하도록 만드세요.

한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부