0

画像アップローダーにいくつかの基本的なおっとコンセプトを使用しようとしていますが、基本的なコードが機能していないようです。何がエラーになるのか教えてください。

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、呼び出し元のコードに従って、コンテキスト内でこれを参照しようとしていることです。そのため、それを機能させるには、2 つのうちの 1 つを行う必要があります。

オプション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 に答える