2017-02-18 80 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']; 
} 
相关问题