경로 별칭은 Yii에서 널리 사용됩니다. 경로 별칭은 디렉터리나 파일의 경로와 연결됩니다. 널리 사용되는 네임스페이스 형식인
RootAlias.path.to.target
와 유사한 도트 구문을 사용하여 지정됩니다. 여기서 RootAlias
은 기존 디렉터리의 별칭입니다.
YiiBase::getPathOfAlias()를 사용하면 별칭을 해당 경로로 변환할 수 있습니다. 예를 들어 system.web.CController
은 yii/framework/web/CController
로 번역됩니다.
YiiBase::setPathOfAlias()를 호출하여 새로운 루트 경로 별칭을 정의할 수 있습니다.
편의를 위해 Yii는 다음 루트 별칭을 미리 정의합니다.
system
: Yii 프레임워크 디렉터리를 나타냅니다.
zii
: Zii 라이브러리 디렉터리를 나타냅니다.
application
: 애플리케이션의 기본 디렉터리를 나타냅니다.
webroot
ext
YiiBase::getPathOfAlias()를 사용하면 별칭을 해당 경로로 변환할 수 있습니다. 예를 들어
은로 번역됩니다. system.web.CController
yii/framework/web/CController
2. 클래스 가져오기
Yii::import('system.web.CController');
import
을 따르는 방법 과 달리 더 효율적입니다. include
가져온 클래스 정의는 처음 참조될 때까지 실제로 포함되지 않습니다require
. 동일한 네임스페이스를 여러 번 가져오는 것이 및 보다 훨씬 빠릅니다. include_once
require_once
팁:클래스 맵 사용Yii 프레임워크에서 정의된 클래스를 참조할 때 이를 가져오거나 포함할 필요가 없습니다. 모든 핵심 Yii 클래스를 미리 가져왔습니다.
Yii 버전 1.1.5부터 클래스 맵을 사용하여 사용자 정의 클래스를 미리 가져올 수 있습니다. 메커니즘 Yii 내장 클래스
에서 사용하는 방법이기도 합니다. 즉시 가져오기 메커니즘은 파일을 명시적으로 가져오거나 포함하지 않고도 Yii 애플리케이션 어디에서나 사용할 수 있습니다. 이 기능은 Yii 위에 구축된 프레임워크나 라이브러리에 유용합니다. 미리 가져오기 기능을 사용하려면 CWebApplication::run()이 실행되기 전에 다음 코드를 실행하세요.
Yii::$classMap=array( 'ClassName1' => 'path/to/ClassName1.php', 'ClassName2' => 'path/to/ClassName2.php', ...... );
3. 디렉터리 가져오기
Yii::import('system.web.*');
가져오기 외에도 별칭은 다른 여러 위치의 클래스를 가리킵니다. 예를 들어 경로 별칭을 Yii::createComponent()에 전달하여 해당 클래스의 인스턴스를 만들 수 있습니다. 클래스 파일이 이전에 포함된 적이 없더라도 마찬가지입니다.
4. 네임스페이스
팁:버전 5.3.0 이전의 PHP는 기본적으로 네임스페이스를 지원하지 않으므로 이름은 같지만 정의가 다른 클래스의 두 인스턴스를 생성할 수 없습니다. 이러한 이유로 모든 Yii 프레임워크 클래스에는 사용자 정의 클래스와 구별할 수 있도록 문자 'C'('클래스'를 의미)가 접두어로 붙습니다. 접두사 'C'는 Yii 프레임워크용으로만 예약하고 사용자 정의 클래스에는 다른 문자를 접두어로 붙이는 것이 좋습니다.
5. 네임스페이스를 사용하는 클래스
네임스페이스 아래의 클래스입니다. 네임스페이스를 사용하려면 PHP 5.3.0 이상이 필요합니다. applicationcomponentsGoogleMap
applicationcomponents
1.1.5부터는 명시적으로 네임스페이스를 도입하지 않고도 네임스페이스가 포함된 클래스를 사용할 수 있습니다. 예를 들어 가져온 경로를 처리할 필요 없이
네임스페이스를 사용하여 클래스를 자동으로 가져오려면 네임스페이스 형식이 경로 별칭 과 유사해야 합니다. 예를 들어 applicationcomponentsGoogleMap
클래스에 해당하는 경로는 application.components.GoogleMap
별칭과 일치해야 합니다.
위는 Yii 프레임워크 공식 가이드 시리즈 12 - 기본 지식: 경로 별칭 및 네임스페이스입니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!