이 글에서는 PHP에서 use 키워드의 몇 가지 일반적인 용도를 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
1. 네임스페이스에 대한 별칭 참조
// 命名空间 include 'namespace/file1.php'; use FILE1\objectA; use FILE1\objectA as objectB; echo FILE1\CONST_A, PHP_EOL; // 2 $oA = new objectA(); $oA->test(); // FILE1\ObjectA $oB = new objectB(); $oB->test(); // FILE1\ObjectA
이는 일상적인 엔지니어링 개발에서 매우 일반적입니다. 결국 현재 프레임워크는 모두 네임스페이스를 사용합니다. 무엇을 하든 다양한 클래스 종속성을 호출하지 않고는 할 수 없습니다. 다양한 컨트롤러 파일 위에는 수많은 use xxxxxxxxx; 문이 있습니다.
2. 특성 기능 소개
// trait trait A{ function testTrait(){ echo 'This is Trait A!', PHP_EOL; } } class B { use A; } $b = new B(); $b->testTrait();
지난 2년 동안에도 특성을 전혀 사용하지 않은 PHP 프로그래머를 볼 수 있습니다. 이것은 현실입니다. 아직도 TP3를 사용하는 프로젝트가 너무 많다고 생각하는 것은 놀라운 일이 아닙니다. 특성 기능은 매우 편리한 클래스 함수 확장 모드이기도 합니다. 실제로 이 용도를 클래스에 배치하는 것으로 생각할 수 있으며 특성의 참조 정의가 됩니다.
3. 익명 함수 매개변수 전달
// 匿名函数传参 $a = 1; $b = 2; // function test($fn) use ($a) // arse error: syntax error, unexpected 'use' (T_USE), expecting '{' function test($fn) { global $b; echo 'test:', $a, '---', $b, PHP_EOL; // test:---2 $fn(3); } test(function ($c) use ($a) { echo $a, '---', $b, '---', $c, PHP_EOL; }); // 1------3
메소드에서 외부 변수를 호출하려면 전역이 필요합니다. 여기서는 use()를 통해 직접 변수를 전달할 수도 있습니다. 그리고 이는 익명 함수에서만 사용할 수 있습니다.
테스트 코드: https://github.com/zhangyue0503/dev-blog/blob/master/php/202001/source/use%E5%85%B3%E9%94%AE%E5%AD%97% E5%9C%A8PHP%E4%B8%AD%E7%9A%84%E5%87%A0%E7%A7%8D%E7%94%A8%E6%B3%95.php
추천 연구: 《PHP 비디오 튜토리얼》
위 내용은 PHP에서 use 키워드를 사용하는 3가지 방법에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!