如何在方法中访问类属性

时间:2015-02-23 18:40:36

标签: php class methods properties

我有以下代码:

class FanClub_Banner
{
    public $img = 'http://www.example.com/museum/images/logo_ver_250.png';

    public static function banner_me(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject)
    {
        return '<img src="'. $this->$img . '" width="250" height="250" alt="Museum">';
    }
}

我收到错误:

Fatal error: Using $this when not in object context in C:\public_html\comunidad\library\FanClub\Banner.php on line 8

如何解决?

由于

1 个答案:

答案 0 :(得分:1)

您的静态方法无法访问您的Class属性,一个简单的解决方法是从static移除public static function,并且您要使用此方法执行FanClub_Banner fcBanner = new FanClub_Banner(); fcBanner->banner_me(....);

另一种解决方法是将属性设置为静态,以便您拥有public static $img...