導航:首頁 > 編程語言 > php如何調用靜態方法

php如何調用靜態方法

發布時間:2022-09-03 06:24:08

『壹』 php如何動態調用靜態方法 - 技術問答

[php]function example($className){? ???if (\"Database\" == $className) {? ?? ?? ???Database::staticFunc();? ???}}[/php]

『貳』 TP中如何調用第三方類庫中的靜態方法

首先整理你的類庫文件夾,然後放到tp目錄下的vender/下,我用的是OT二開的,我的目錄在ThinkPHP\Library\Vendor\下,自己先找對這個目錄,把文件夾放進去。
我的最終目錄是這樣的:\ThinkPHP\Library\Vendor\PHPExcelUnit
PHPExcelUnit為我整理過的phpexcel類庫包。
下邊就該說說如何調用了:
在控制器中,需要實例化PHPExcel類,類似這樣的做法是不行的:
$PHPExcel = new PHPExcel();
$PHPReader = new PHPExcel_Reader_Excel2007();
一定要這樣調用,在類名前面加上反斜杠
vendor('PHPExcelUnit.PHPExcel'); //引入類庫
$PHPExcel = new \PHPExcel();
$PHPReader = new \PHPExcel_Reader_Excel2007();
這樣就可以啦。
如果需要調用類的靜態方法。比如說:
PHPExcel_cell::columnIndexFromString('A') ;
還是會提示錯誤,在類前面加上\還是不行,無奈只能把靜態方法扒拉一份,整理到自己的控制器或者模型中,然後再通過自身的方法來調用,例如:
self::columnIndexFromString('A') ;
self::columnIndexFromString('BW');

『叄』 ThinkPHP3.2中如何使用類函數靜態調用

common/里建一個 common.php文件。裡面存函數,這個文件是默認載入的,如果不是 common.php 就得手動載入。

直接建一個 common.php 文件寫在裡面。記得刪除緩存。

可以寫進ThinkPHP/Common/functions.php這個裡面,也可以ThinkPHP/Common/extend.php,但需要載入
載入的話需要理清他的架構,thinkphp載入有很簡單的自定義的一套方法,TP中調用自定義的函數庫應該在項目的config.php里配置

『肆』 php中怎麼調用方法中的靜態變數

static
變數是php中的變數作用范圍的一個重要特性
靜態變數僅在局部函數域中存在且只被初始化一次,當程序執行離開此作用域時,其值不會消失,會使用上次執行的結果
一個普通的變數,如
$message
在它所在的函數執行完之後就被釋放了
即第二個function執行10次,每次執行完後,$message變數被釋放,所以每次都是1
變數前加了static後,該變數在它所在的函數執行完後不會被釋放
即第一個function每次被執行後,static
$message沒有被釋放,它將被繼續累加

『伍』 php中靜態方法的問題

self::是代表在本類里調用靜態方法get();因為在靜態方法裡面只能調靜態方法,不能調用實例方法,如果調用實例方法的話那就用this,

『陸』 如何使用PHP靜態方法與屬性

class Fruit {
public static $category = "I'm fruit";

static function find($class)
{
$vars = get_class_vars($class) ;
echo $vars['category'] ;
}
}
$category為靜態屬性
$find為靜態方法
調用:
Fruit::$category;
Fruit::find();

『柒』 PHP中如何調用靜態成員函數

用IntPtr類型,Hdc一般是指繪圖設備句柄,用Graphics的成員方法GetHdc獲得,Graphics可以用靜態方法FromHwnd創建某個窗體的繪圖器,把某個窗體的Handle傳給他就可以了,如果Handle傳0,則創建的是整個屏幕的繪圖器。

『捌』 php 使用靜態方法的幾個注意事項說明

1.即使類中的方法並未用static聲明,但其未使用到可改變的類成員變數,在外部仍可用操作符::來調用;

2.以靜態方式(用::操作符)調用的方法中$this的取值是由調用時的上下文決定的!而不是定義他的類!!

例如以下的代碼:


<?php
classTestClass1
{
public$normal_v='normal_vfromTestClass1';
publicstatic$STATIC_V='STATIC_VfromTestClass1';
publicfunctiontest_func1()
{
echo$this->normal_v.'<br/>'.self::$STATIC_V;
}
}
classTestClass2
{
public$normal_v='normal_vfromTestClass2';
publicstatic$STATIC_V='STATIC_VfromTestClass2';
publicfunctiontest_func2()
{
TestClass1::test_func1();
}
}
$t2=newTestClass2();
$t2->test_func2();

這段代碼是輸出會是什麼呢,我原以為會是normal_v from TestClass1 <br /> STATIC_V from TestClass1,測試發現其實我錯了,正確的輸出是:

normal_v from TestClass2
STATIC_V from TestClass1

說明:test_func1()雖然是在TestClass1中定義的,但卻是在TestClass2中調用的,其內部的$this變數則是由TestClass2決定的!

其實這兩個類的關系應該屬於"雙向關聯".

『玖』 php中靜態成員如何使用

當前類中使用self::或者static::調用靜態成員,靜態方法中只能調用靜態成員,外部直接使用類名::靜態成員調用

『拾』 php父類如何調用子類的靜態方法或變數

<?php
classA{
staticpublic$m=1;
staticpublicfunctionm(){
echostatic::$m,'<br/>';
}
staticpublicfunctionn(){
static::n();
}
}
classBextendsA{
staticpublic$m=111;
staticpublicfunctionm(){
parent::m();
}
staticpublicfunctionn(){
echoparent::$m,'<br/>';
}
}
B::m();
B::n();

閱讀全文

與php如何調用靜態方法相關的資料

熱點內容
初次認識控制命令完整版 瀏覽:255
雙屏程序員 瀏覽:799
怎麼把兩個文件夾放到一個文件夾裡面 瀏覽:545
命令與征服大神宮 瀏覽:207
php發送簡訊驗證碼 瀏覽:505
前端伺服器如何接收http請求 瀏覽:796
程序員資質查詢 瀏覽:357
程序員被別人開除怎麼辦 瀏覽:888
解壓視頻看一下 瀏覽:129
android仿知乎日報 瀏覽:335
為什麼前端比安卓手機需求大 瀏覽:855
命令行執行關機命令 瀏覽:52
在學校心情不好怎麼解壓 瀏覽:116
我的世界基岩版伺服器怎麼讀取 瀏覽:161
快件命令 瀏覽:853
阿里雲06折伺服器能用嗎 瀏覽:421
h5個人中心源碼 瀏覽:221
下三角矩陣的壓縮存儲 瀏覽:922
招人用什麼app好用 瀏覽:722
飛行控制源碼 瀏覽:185