0

我正在尝试为我的图像上传器使用一些基本的 oops 概念,但似乎无法正常工作我的基本代码会出现什么错误,请帮助我解决这个问题

class allUploader
{
    var $name="sdf";
    var $type="";
    var $error="";
    function imageupload($image)
    {
        return $this->name;
    }
}
$v=allUploader::imageupload("hello");
echo $v;

错误:

Notice: Undefined index: uploader in /var/www/imageupload.php on line 20 Fatal error: Using $this when not in object context in /var/www/imageupload.php on line 15

感谢您宝贵的时间

4

1 回答 1

2

您的问题是您试图static根据您的调用代码在上下文中引用它,因此您需要做两件事中的一件才能使其工作。

选项1:

// Wrong
$v=allUploader::imageupload("hello");

// Right
$uploader = new allUploader();
$uploader->imageupload('hello');

选项 2:

// Wrong
var $name = 'sdf';

function imageupload($image)

// Right
protected static $name;

public static function imageupload($image)
{
    return self::$name;
}

选项 3

// Wrong
function imageupload($image)

// Right
public static function imageupload($image)
{
    $uploader = new allUploader();

    return $uploader->name;
}

我建议您彻底阅读 PHP 的“ OOP The Basics ”以及静态关键字

于 2012-04-25T06:27:10.693 回答