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

usephp函數

發布時間: 2022-06-23 20:22:36

『壹』 php 命名空間函數和類中不能使用use嗎

public 表示全局,類內部外部子類都可以訪問

private表示私有的,只有本類內部可以使用;

protected表示受保護的,只有本類或子類或父類中可以訪問;
當實例化對象時,在外部只能使用其公共方法。不能使用protected和private方法。
而protected方法當子類繼承時,可以調用父類的protected方法。或者在本類中使用,

『貳』 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 匿名函數,也叫閉包函數

應該說不對,在 php 中 使用了 use 語句的匿名函數才是閉包函數。php 的變數默認是局部的,沒有 use 語句,匿名函數使用不了定義作用域里的變數。只有使用了定義作用域內變數的才能叫閉包函數。

『肆』 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用法的疑問

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

『陸』 PHP 的use 命名空間 是什麼意思

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

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

<?php

namespaceA;//定義命名空間

classAction{
//..
}


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

classAction{
//..
}

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

namespaceB;

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

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

$var=newA_Action;

『柒』 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 來實現。

『捌』 php子類怎麼使用父類的use

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

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

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

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

PHP: 命名空間

『玖』 php類中定義了一個函數,怎麼使用它

php類中定義的函數有幾種,

例如:

classA{
//公共方法

publicfunctiontest(){
//dosomething
}
//受保護的方法
protectedfunctiontest2(){
//dosomething
}
//靜態方法

staticfunctionst(){
//dosomething
}
//私有方法
privatefunctiontest3(){
//dosomething
}
//內部訪問

publicfunctionuse(){
//使用公共方法

$this->test();
//使用受保護方法

$this->test2();
//使用私有方法

$this->test3();

//使用靜態方法

self::st();

}
}
//外部調用方法:
$a=newA();
$a->test();//外部使用test,
//$a對象不能外部使用受保護方法和私有方法,受保護方法可以被繼承到,而私有方法不能被繼承。
A::st();//外部使用靜態方法

『拾』 php中use 的問題

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

熱點內容
資料庫的欄位命名規則 發布:2025-02-05 13:53:16 瀏覽:683
固定ip自建伺服器訪問 發布:2025-02-05 13:53:03 瀏覽:740
快速獲取文件夾沒文件 發布:2025-02-05 13:52:19 瀏覽:871
伺服器主機如何家用 發布:2025-02-05 13:52:15 瀏覽:99
安卓應用如何刪除自動下載 發布:2025-02-05 13:52:15 瀏覽:660
c語言switch語句用法 發布:2025-02-05 13:49:16 瀏覽:936
騰訊緩存不了的動畫片怎麼辦 發布:2025-02-05 13:49:12 瀏覽:130
access資料庫調用 發布:2025-02-05 13:45:01 瀏覽:49
如何查詢伺服器所有電腦名 發布:2025-02-05 13:21:38 瀏覽:150
我的世界ec伺服器up主稱號怎麼獲得 發布:2025-02-05 13:21:15 瀏覽:913