> 백엔드 개발 > PHP 튜토리얼 > PHP에서 use를 사용하는 방법(코드 예)

PHP에서 use를 사용하는 방법(코드 예)

烟雨青岚
풀어 주다: 2023-04-08 22:04:02
앞으로
3243명이 탐색했습니다.

PHP에서 use를 사용하는 방법(코드 예)

PHP에서 사용하는 방법(코드예시)

저는 한동안 PHP 프레임워크를 공부하다가 언제쯤 나만의 프레임워크를 개발할 수 있을까 고민을 해왔습니다. 나의 프로그래밍 수준을 향상시키는 동시에, 평소에 배우던 흩어져 있던 것들을 하나로 결합하여 능숙하게 적용할 수 있습니다. 그런데 프레임워크를 개발할 때 어떻게 시작해야 할지, 무엇을 먼저 개발해야 할지 모르겠습니다. PHP 프레임워크는 많지만 어떻게 적용해야 하는지 배울 수 있는 문서나 동영상이 없습니다. 특히나 어떻게 적용하는지 알고 싶어하는 분들이 많을 거라 생각하는데, 개발 프레임워크를 가지고 노는 친구들은 다들 비슷한 감정을 갖고 있어서 저도 상상했던 대로 어렵게 하게 됐어요. 처음부터 조금 혼란스러웠다.

네임스페이스의 사용과 사용의 소개입니다. 인터넷에서 많은 의견을 읽고 공식 문서를 읽어 보면 의미가 대략 명확하고 이해하기 쉽습니다. 네임 스페이스는 말하기 쉽고 이 공간에 이름을 부여하지만 구체적인 사용 동작이 작동하지 않습니다. 그것을 알아낼 수 없습니다. 나중에 Yii 학습 영상을 보고 갑자기 이해가 되었어요.

예를 들어 세 개의 파일을 만듭니다.

첫 번째 파일 A.php에는 두 개의 클래스가 있습니다. 네임스페이스는 abc;

<?php
namespace a\b\c;
class Apply{
  function get_info(){
    echo &#39;this is A Apply&#39;;
  }
}
class C{
  function info(){
    echo &#39;this is info&#39;;
  }
}
로그인 후 복사

두 번째 파일 B.php에는 abd;

<?php
namespace a\b\d;
class Apply{
  function get_info(){
    echo &#39;this is B Apply&#39;;
  }
}
로그인 후 복사

세 번째 파일인 index.php가 있습니다. 위 두 파일의 클래스를 사용하십시오.

예를 들어 A.php에서 클래스를 인스턴스화하려고 합니다. 어떻게 구현하나요?

먼저 이 파일을 포함시킵니다. require_once('A.php');

그런 다음 abc;를 사용하세요. 아니면 abcA일까요? 사실 이것은 잘못된 것입니다. 사용은 다음과 같아야 합니다. 네임스페이스는 이 공간에서 인스턴스화하려는 클래스의 클래스 이름입니다. 예를 들어, A.php에서 Apply 클래스를 인스턴스화하려는 경우 abcApply를 사용하는 것은 이 클래스를 도입한 다음 new Apply()를 호출하는 것과 같습니다. 이는 평소와 같습니다. 클래스 C를 인스턴스화하려면 abcC를 사용하세요.

참고: use는 require_once 또는 include와 같지 않습니다. 사용의 전제는 파일이 현재 파일에 포함되었다는 것입니다.

그런데 MVC 모드에서는 클래스명과 파일명이 같기 때문에, 모르는 분들은 사용하면 파일명이 따라온다고 생각하실 것 같아요. 실제로 용도는 여전히 클래스 이름입니다.

다른 네임스페이스에 동일한 클래스 이름이 있고 동일한 파일에서 사용하는 경우 어떻게 해야 합니까? 예를 들어 위의 index.php에는 A.php와 B.php가 포함되어 있으며 이때 new Apply()는 오류를 보고합니다. 예를 들어 abdApply를 b로 사용하는 것입니다. time we new일 때는 new Apply();로 작성하지 말고 new b();로 작성해야 충돌이 발생하지 않습니다.

읽어주신 모든 분들께 감사드리며, 많은 혜택 받으시길 바랍니다.

추천 튜토리얼: "php 튜토리얼"

위 내용은 PHP에서 use를 사용하는 방법(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿