ホームページ >バックエンド開発 >PHPチュートリアル >PHP で use キーワードを使用する 3 つの方法についての簡単な説明

PHP で use キーワードを使用する 3 つの方法についての簡単な説明

青灯夜游
青灯夜游転載
2021-06-15 18:15:303784ブラウズ

この記事では、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 xxx\xxx\xxx; ステートメントが大量に存在します。

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

これはちょっと興味深いですね、メソッド内で外部変数を呼び出すには、global が必要です。 use() を通じて変数を直接渡すこともできます。そして、これは匿名関数でのみ使用できます。

テストコード: https://github.com/zhangyue0503/dev-blog/blob/master/php/202001/source/PHP.php のキーワードを使用

推奨される学習: 「PHP ビデオ チュートリアル

以上がPHP で use キーワードを使用する 3 つの方法についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。