PHP 7이 그렇게 할 수 있습니까?

12282 단어 php
PHP 7은 전반적인 성능이 크게 향상되었습니다. 실제로 null 병합 연산자 또는 반환 유형 선언과 같은 주요 기능이 있습니다. 모르는 경우 PHP 문서를 확인해야 합니다.

다음은 유용할 수 있는 잘 알려지지 않은 기능입니다.

동일한 네임스페이스, 동일한 용도



PHP 7 이전 개발자는 다음을 사용했습니다.

use Universe\Saiyan;
use Universe\SuperSaiyan;


PHP 7부터:

use Universe\{Saiyan, SuperSaiyan};


함수와 상수도 마찬가지입니다. 동일한 네임스페이스에 속하는 경우 그룹화할 수 있습니다.

상수는 배열일 수 있습니다.




define('NAMES', [
    'first'  => 'John',
    'middle' => 'Fitzgerald',
    'last'   => 'Kennedy'
]);

echo NAMES['last']; //displays "Kennedy"


우주선 운영자



그렇게 써있습니다<=> . 그것은 비교를 결합합니다. "보다 작거나 같거나 큼"을 나타냅니다. 반환 값 때문에 사용자 정의 비교 함수를 사용하여 배열을 정렬할 때 정말 유용합니다.
  • 값이 같으면 0
  • 왼쪽 값이 더 큰 경우 1
  • 오른쪽 값이 더 큰 경우 -1

  • source

    따라서 다음 여배우 배열을 정렬해 보겠습니다.

    $actressesWithAcademyAwards = [
        [ 'name' => 'Katharine Hepburn', 'awards' => 4 ],
        [ 'name' => 'Jessica Lange', 'awards' => 2 ],
        [ 'name' => 'Meryl Streep', 'awards' => 3 ],
        [ 'name' => 'Cate Blanchett', 'awards' => 2 ],
    ];
    


    비교를 위해 여러 줄을 작성하는 대신 한 줄로 할 수 있습니다.

    usort($actressesWithAcademyAwards, function ($a, $b) {
        return $a['awards'] <=> $b['awards'];
    });
    
    print_r($actressesWithAcademyAwards);
    


    이것은 다음을 반환합니다.

    Array
    (
        [0] => Array
            (
                [name] => Jessica Lange
                [awards] => 2
            )
    
        [1] => Array
            (
                [name] => Cate Blanchett
                [awards] => 2
            )
    
        [2] => Array
            (
                [name] => Meryl Streep
                [awards] => 3
            )
    
        [3] => Array
            (
                [name] => Katharine Hepburn
                [awards] => 4
            )
    )
    


    우주선 운영자가 시간을 절약할 수 있도록 매우 일반적인 PHP 루틴입니다. 게다가 더 읽기 쉽습니다.

    배열의 첫 번째/마지막 키(PHP 7.3)



    PHP 7.3부터 배열의 첫 번째 키와 마지막 키를 쉽게 얻을 수 있습니다.

    $array = [ 'v' => 1, 'i' => 2, 'p' => 3 ];
    
    $firstKey = array_key_first($array);
    $lastKey = array_key_last($array);
    
    print_r($firstKey); // v
    print_r($lastKey); // p
    


    내부 배열 포인터에 영향을 주지 않기 때문에 정말 깨끗합니다.

    배열의 확산 연산자(PHP 7.4)



    이 기능은 다음을 허용합니다.

    $abc = range('a', 'c');
    $def = range('d', 'f');
    $ghi = range('g', 'i');
    $all = [...$abc, ...$def, ...$ghi, 'j'];
    print_r($all);
    


    당신은 얻는다 :

    Array
    (
        [0] => a
        [1] => b
        [2] => c
        [3] => d
        [4] => e
        [5] => f
        [6] => g
        [7] => h
        [8] => i
        [9] => j
    )
    


    대부분의 경우 기본적으로 array_merge()를 대체합니다.

    화살표 함수(PHP 7.4)



    주의하세요. 지금은 표현식이 하나뿐인 짧은 클로저를 의미합니다(따라서 "short"라는 단어).

    $c = 3;
    $addC = fn($x) => $x + $c;
    echo $addC(70); // 73
    

    use 키워드가 필요하지 않습니다.

    source

    지속적인 가시성(PHP7.1)




    class Mother {
        private const ERROR_LEVEL_1 = 'achtung';
    }
    


    가시성은 덮어쓰지 말아야 할 것을 덮어쓰지 않도록 하는 데 유용합니다. PHP 7.1 이전에는 클래스 상수(항상 공개)에 대해 불가능했습니다.

    source

    마무리



    PHP 7은 강력합니다. 더 빠르고 훌륭한 기능이 제공됩니다. PHP 7이 할 수 있는 모든 것을 알고 계셨습니까?

    좋은 웹페이지 즐겨찾기