當前位置:首頁 » 編程語言 » phpuse函數

phpuse函數

發布時間: 2022-04-27 13:26:38

1. php子類怎麼使用父類的use

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

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

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

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

PHP: 命名空間

2. php use php namespace 到底是怎麼一回事

1. namespace Zend\Http\PhpEnvironment;

這句代碼定義了一個命名空間,你可以理解為定義一個名稱為 Zend\Http\PhpEnvironment 的域名。

在定義了之後,下面所申明的class, interface, const等都是在申明的這個「域」裡面的。當引用一個申明了命名空間的包含文件,想要調用這個裡面的東西,那就必須:

調整當前腳本也到這個域名里,否則,就得用namesapce的全稱。

比如,inc.php 文件:

namespace Zend\Http\PhpEnvironment;
class Bar {}//定義了一個類

則其他文件調用時:

// 訪問Foo的第一種方法,用全稱
require 'inc.php';
$foo = new \Zend\Http\PhpEnvironment\Bar();

// 訪問Foo的第二種方法
namespace Foo; // 調整當前腳本到Foo這個ns域,而且namespace申明必須在第一句
require 'inc.php';
$foo = new Bar();

2. use關鍵字目的是使用ns的別名:

比如說,上面的

// 訪問Foo的第一種方法,用全稱
require 'inc.php';
$foo = new \Zend\Http\PhpEnvironment\Bar();

用uses後,寫法如下:

use \Zend\Http\PhpEnvironment as pe; //定義別名

$foo = new \pe\Bar(); //用短的別名來代替原來的

如果省略後面的as ....,那麼,就可以直接用最後一節的文字來代替,比如,上面的:

use \Zend\Http\PhpEnvironment; //定義別名
$foo = new \PhpEnvironment\Bar(); //用短的別名來代替原來的

================================================

php官方手冊中的相關內容:

在PHP中,namespace命名空間用來解決在編寫類庫或應用程序時創建可重用的代碼如類或函數時碰到的兩類問題:

1. 用戶編寫的代碼與PHP內部的類/函數/常量或第三方類/函數/常量之間的名字沖突。
2. 為很長的標識符名稱(通常是為了緩解第一類問題而定義的)創建一個別名(或簡短)的名稱,提高源代碼的可讀性。

PHP 命名空間提供了一種將相關的類、函數和常量組合到一起的途徑。

PHP 命名空間支持有兩種使用別名或導入方式:為類名稱使用別名,或為命名空間名稱使用別名, 別名通過操作符 use 來實現。

3. PHP匿名函數和use子句用法實例

本文實例講述了PHP匿名函數和use子句用法。分享給大家供大家參考,具體如下:
下面方法輸出的是hello
world
$param1和$param2是閉包變數
function
test()
{
$param2
=
'every';
//
返回一個匿名函數
return
function
($param1)
use
($param2)
{
//
use子句
讓匿名函數使用其作用域的變數
$param2
.=
'one';
print
$param1
.
'
'
.
$param2;
};
}
$anonymous_func
=
test();
$anonymous_func('hello');
下面的方式
輸出hello
everyone
function
test()
{
$param2
=
'everyone';
$func
=
function
($param1)
use
($param2)
{
//
use子句
讓匿名函數使用其父作用域的變數
print
$param1
.
'
'
.
$param2;
};
$param2
=
'everybody';
return
$func;
}
$anonymous_func
=
test();
$anonymous_func('hello');
下面的方式
輸出hello
everybody
$param2中多了一個引用
function
test()
{
$param2
=
'everyone';
$func
=
function
($param1)
use
(&$param2)
{
//
use子句
讓匿名函數使用其父作用域的變數
print
$param1
.
'
'
.
$param2;
};
$param2
=
'everybody';
return
$func;
}
$anonymous_func
=
test();
$anonymous_func('hello');
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。

4. php 匿名函數 use 怎麼用

這里的use實際上就是將全局的$message拷貝到局部函數中,所以很類似於global,不過和global不同的是:

use時:當你在函數中對$message更改的時候不會影響到全局的那個$message,也就是說使用use實際上是拷貝一份變數到函數中。

global時:正相反,在函數中對$message更改的時候會影響到全局的那個$message。我在後盾人視頻平台才看見教師講這個,沒想到就能幫到你,呵呵太有趣了

5. 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;//
?>

6. php編程高手們來吧 use有什麼用

php中use用來以別名的方式引入命名空間:
比如在a.php中調用My\Full命名空間下的Fun對象:
use My\Full;
$fun = new Fun();//這樣就可以了,
如果沒有使用use,
則需要:$fun = new My\Full\Fun();//帶著命名空間路徑

7. PHP關於Use用法的疑問

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

8. 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);

9. php中use 的問題

use Tymon\JWTAuth\Exceptions是引入exceptions內部的所有方法,其中JWTException是一個類,所以是先use,後用new生成對象。

熱點內容
美嘉演算法口訣 發布:2025-05-16 06:03:15 瀏覽:952
c程序編譯連接 發布:2025-05-16 06:02:36 瀏覽:964
腳本魔獸 發布:2025-05-16 06:01:52 瀏覽:330
文件夾python 發布:2025-05-16 06:01:43 瀏覽:627
電腦我的世界伺服器游戲幣 發布:2025-05-16 05:27:25 瀏覽:487
索尼手機為什麼不能用安卓10 發布:2025-05-16 05:18:46 瀏覽:784
蔚來es6選擇哪些配置實用 發布:2025-05-16 05:18:05 瀏覽:130
小米如何掃碼wifi密碼 發布:2025-05-16 05:13:38 瀏覽:807
樓層密碼是什麼意思 發布:2025-05-16 05:13:37 瀏覽:13
創建文件夾失敗 發布:2025-05-16 05:12:59 瀏覽:396