導航:首頁 > 編程語言 > php使用use

php使用use

發布時間:2023-02-16 19:10:14

php閉包函數用use傳參有什麼意義

PHP語法對於全局變數和局部變數分得太清楚,這里不討論它好與不好,但確實使用起來比較麻煩。在函數裡面調用全局變數,必須global聲明以後,才能使用,其它的語言貌似都能直接用。而use在這里的用法,就是解決這個問題的,有時候不但要傳參數進來,還要調用局部變數進行計算或判斷。舉個例子,你也許更明白:

<?php
functiongetMoney($cny){
$usd=6;//這個局部變數,想在閉包裡面用,必須放到use里
$func=function($jpy)use($cny){
echo$cny.'<br>';//10
echo$jpy.'<br>';//0.1
echo$usd;//否則就報錯,Undefinedvariable:usd
};
$func(0.1);
}
getMoney(10);

❷ PHP 的use 命名空間 是什麼意思

有點類似於 java 中的包機制,用來解決重名問題的,每一個命名空間都是獨立的

給你舉個例子吧,比如我現在想寫兩個類,名字都叫 Action

<?php

namespaceA;//定義命名空間

classAction{
//..
}


namespaceB;//定義第二個命名空間

classAction{
//..
}

use 關鍵字用於導入某個命名空間下的類, 如果我在B空間內想使用A空間中的Action類,就需要導入這個類才能使用(當然也可以指明空間前綴來使用)

namespaceB;

//在本空間中需要使用A空間中的Action類,使用use導入

useAAction;//導入,如果本空間中也有一個Action會出現錯誤,因為類重名了
useAActionasA_Action;//通過取別名的方式解決

$var=newA_Action;

❸ php7使用use引入命名空間提示語法錯誤

我也遇到了這個問題,我是這樣解決的,我伺服器裝了5.2和7.2兩個版本,可能兩者有沖突,5.2不支持命名空間,不支持use和namespace,解決辦法就是卸載5.2版本!!!

❹ php子類怎麼使用父類的use

你指的是導入命名空間的語法 use?

那不存在父類子類的說法。use只是將另外一個命名空間的定義(類或函數等)導入到當前命名空間使用。

每個文件(如果一個文件有多個命名空間,那每個命名空間導入一次)使用該語法導入一次,就可以一正常使用了。

如果一個文件里同時定義了兩個類,同時只有一個命名空間,那在命名空間後導入一次就可以在兩個類里同時使用了

PHP: 命名空間

❺ PHP關於Use用法的疑問

子類B不可以直接使用類C的方法。需要Use類C後,才可以使用類C的方法。
use是你在當前文件需要引用哪個類時,在當前文件的代碼前面聲明——如果當前文件有聲明namespace,則放在namespace之後。

❻ php命名空間 use使用的問題:

命名空間是運行時解析的。use就相當於一種聲明,並不解析和載入。在使用時就可以自動載入進來,那麼這里你就可以理解為把db這個類庫導入進來了,所以可以正常使用。

❼ php 使用use 和直接傳參的區別

實際應用 1 : 在創建閉包時, 生成所use變數的快照, 下文再次調用閉包函數時, 快照變數不改變
$a = 5;

$b = function ($x) use ($a) {
$a += $x; echo $a;
};

$a = 10; // 這個變數被再次賦值, 但是在use語句中的'快照'是不會改變的

$b(100); // 輸出 : 105

實際應用 2 : 使用引用傳值, 生成所use變數的指針, 下文再次調用閉包函數時, 快照變數會改變(其實這樣做與直接傳參已經沒有區別, 所以這么做意義不大, 而且代碼可讀性降低)

$a = 5;

$b = function ($x) use (&$a) {
$a += $x; echo $a;
};

$a = 10; // 變數重新賦值, 上文中閉包所引用的變數值也被改變

$b(100); // 輸出 : 110

❽ php匿名函數中的use有什麼用

php文檔中關於use的說明

所有支持命名空間的PHP版本支持三種別名或導入方式:為類名稱使用別名、為介面使用別名或為命名空間名稱使用別名。PHP5.6開始允許導入函數或常量或者為它們設置別名。
在PHP中,別名是通過操作符use來實現的.下面是一個使用所有可能的五種導入方式的例子:
Example#1使用use操作符導入/使用別名
<?php
namespacefoo;
useMyFullClassnameasAnother;

//下面的例子與useMyFullNSnameasNSname相同
useMyFullNSname;

//導入一個全局類
useArrayObject;

//importingafunction(PHP5.6+)
usefunctionMyFullfunctionName;

//aliasingafunction(PHP5.6+)
;

//importingaconstant(PHP5.6+)
useconstMyFullCONSTANT;

$obj=newnamespaceAnother;//實例化fooAnother對象
$obj=newAnother;//實例化MyFullClassname對象
NSnamesubnsfunc();//調用函數MyFullNSnamesubnsfunc
$a=newArrayObject(array(1));//實例化ArrayObject對象
//如果不使用"useArrayObject",則實例化一個fooArrayObject對象
func();//
echoCONSTANT;//
?>
閱讀全文

與php使用use相關的資料

熱點內容
壓縮機型號v代表什麼 瀏覽:49
旅遊類源碼 瀏覽:859
電腦伺服器類型怎麼設置 瀏覽:227
pdf炒股 瀏覽:783
伺服器地址缺少埠號什麼意思 瀏覽:527
下載需要解壓的小說用哪個軟體 瀏覽:531
廣東分布式伺服器雲主機 瀏覽:580
伺服器忙打不開怎麼辦 瀏覽:12
tif壓縮軟體 瀏覽:410
程序員那麼可愛陸漓上班第1天 瀏覽:950
macbookair自帶什麼app 瀏覽:698
如何關了加密的軟體 瀏覽:579
程序員p2p待遇 瀏覽:920
ipd編譯要求 瀏覽:935
壓縮解壓王怎麼用 瀏覽:33
伺服器共享文件如何備份 瀏覽:757
買安卓手機怎麼在官網買 瀏覽:125
詩詞入門PDF 瀏覽:364
毒app是什麼單位 瀏覽:66
如何自己編譯android系統 瀏覽:795