本篇內(nèi)容主要講解“PHP中use關(guān)鍵字有幾種使用方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“PHP中use關(guān)鍵字有幾種使用方法”吧!
創(chuàng)新互聯(lián)建站是專業(yè)的梁山網(wǎng)站建設(shè)公司,梁山接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行梁山網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
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
這個(gè)想必在日常的工程化開(kāi)發(fā)中會(huì)非常常見(jiàn)。畢竟現(xiàn)在的框架都是使用了命名空間的,不管做什么都離不開(kāi)各種類依賴的調(diào)用,在各種控制器文件的上方都會(huì)有大量的use xxx\xxx\xxx;語(yǔ)句。
2. 用于trait特性能力的引入
// trait trait A{ function testTrait(){ echo 'This is Trait A!', PHP_EOL; } } class B { use A; } $b = new B(); $b->testTrait();
即使在最近這兩年,依然還是見(jiàn)過(guò)完全沒(méi)有用過(guò)trait的PHP程序員,不要驚訝,這是真實(shí)存在的。想想還有那么多項(xiàng)目都還在用TP3也就不奇怪了。trait特性還是非常方便的一種類功能擴(kuò)展模式,其實(shí)我們可以看作是將這個(gè)use放在了類中就成為了trait的引用定義了。
3. 匿名函數(shù)傳參
// 匿名函數(shù)傳參 $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
這個(gè)就有點(diǎn)意思了吧,方法中要調(diào)用外部的變量是需要global的,在這里我們直接通過(guò)use()也是可以將變量傳遞過(guò)去的。而且這個(gè)僅限于在匿名函數(shù)中使用。
測(cè)試代碼: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
到此,相信大家對(duì)“PHP中use關(guān)鍵字有幾種使用方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!