如何在php中的公共静态函数外声明变量?

时间:2017-02-18 05:07:15

标签: 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

请帮忙。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用全局变量来声明变量外部函数

答案 1 :(得分:0)

首先,您的代码中可能有相同的变量名称。当你的代码执行它时,它从函数参数中获取$ catID的值。

其次,您需要将变量称为全局变量,而您将在函数中调用它。类似于...... ...

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