Maison >développement back-end >tutoriel php >Une brève discussion sur 3 façons d'utiliser le mot-clé use en PHP

Une brève discussion sur 3 façons d'utiliser le mot-clé use en PHP

青灯夜游
青灯夜游avant
2021-06-15 18:15:303788parcourir

Cet article vous présentera quelques utilisations courantes du mot-clé use en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Une brève discussion sur 3 façons d'utiliser le mot-clé use en PHP

1. Référence d'alias pour l'espace de noms

// 命名空间
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

Ceci doit être utilisé dans l'ingénierie quotidienne. sera très courant dans le développement. Après tout, les frameworks actuels utilisent tous des espaces de noms. Quoi que vous fassiez, vous ne pouvez pas vous passer d'appeler diverses dépendances de classe. Il y aura un grand nombre d'instructions use xxxxxxxxx;

2. Introduction des capacités de trait

// trait
trait A{
    function testTrait(){
        echo 'This is Trait A!', PHP_EOL;
    }
}

class B {
    use A;
}

$b = new B();
$b->testTrait();

Même au cours des deux dernières années, je n'ai toujours pas vu de traits utilisés du tout. programmeurs, ne soyez pas surpris, c'est réel. Il n’est pas surprenant de penser qu’autant de projets utilisent encore TP3. La fonctionnalité de trait est également un mode d'extension de fonction de classe très pratique. En fait, nous pouvons la considérer comme plaçant cette utilisation dans la classe et elle devient la définition de référence du trait.

3. Passage du paramètre de fonction anonyme

// 匿名函数传参

$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

C'est un peu intéressant pour appeler des variables externes dans la méthode, global est requis ici. nous pouvons également transmettre des variables directement via use(). Et cela ne peut être utilisé que dans des fonctions anonymes.

Code de test : 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

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer