>  기사  >  백엔드 개발  >  PHP에서 use 키워드를 사용하는 3가지 방법에 대한 간략한 토론

PHP에서 use 키워드를 사용하는 3가지 방법에 대한 간략한 토론

青灯夜游
青灯夜游앞으로
2021-06-15 18:15:303738검색

이 글에서는 PHP에서 use 키워드의 몇 가지 일반적인 용도를 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

PHP에서 use 키워드를 사용하는 3가지 방법에 대한 간략한 토론

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제