2017-02-18 67 views
0

所以,我想在php的公共類外聲明一個變量,但由於某種原因它不起作用。如何在php中的公共靜態函數之外聲明一個變量?

這裏是我的代碼

$catID = '33234532'; 

    public static function saveFile($name, $catID){ 
    $name = 'catid_' . $catID . time() . '_' . '.' . pathinfo(saveFiles:sanitizeFileName($name), PATHINFO_EXTENSION); 
    ... rest of my code 
    } 

現在,當我保存,我得到catid__1487393557.png文件,它完全忽略了$ CATID。

現在,當我這樣做時,它輸出正確的東西。

public static function saveFile($name, $catID){ 
    $catID = '33234532'; 

    $name = 'catid_' . $catID . time() . '_' . '.' . pathinfo(saveFiles:sanitizeFileName($name), PATHINFO_EXTENSION); 
    ... rest of my code 
    } 

此輸出這樣的:catid_33234532_1487393557.png

請幫助。

+0

這是一個好主意,重新考慮你的建議設計... –

回答

1

你可以嘗試全局變量來聲明變量之外的功能

0

首先你有相同的變量名在你的代碼可能。當你的代碼執行它時,它會從函數參數中獲取$ catID的值。

其次,您需要將該變量作爲全局調用,而您將在函數中調用該變量。像下面的東西...

$catID = '33234532'; 
function saveFile($name){ 
    echo 'catid_' . $GLOBALS['catID']; 
}