从类php

时间:2016-08-26 09:59:27

标签: php

我正在使用php类。我在类中声明了一个属性,然后在构造函数中我定义了它的值。但是我没有从另一个方法中获取该值。

我的代码是

class Myclass
{
    var $prefix;
    public function __construct( $prefix )
    {
        $this->$prefix = $prefix;
    }         

    public static function ImageContent(){
       echo $prefix;
    }
}

类实例化

$content = new Myclass('the_foody_');
$content::ImageContent();

当我扣除static时,它也不会回应任何内容。

$content->ImageContent();

2 个答案:

答案 0 :(得分:0)

  

重要的是要记住,甚至在实例化类之前就会调用静态函数,即在调用构造函数之前调用它。

克服问题的一种方法是将参数$前缀传递给此函数。

如果您要删除静态,请尝试以下方法:

class MyClass {

    public $prefix;

    public function __construct($prefix) 
    {
        $this->prefix = $prefix;
    }

    public function ImageContent(){
       return $this->prefix;
    }
}

$myClass = new MyClass('the_foody_');
echo $myClass->ImageContent();           // the_foody_

参考:http://php.net/manual/en/language.oop5.static.php#language.oop5.static.methods

答案 1 :(得分:0)

您无法从静态函数访问。如果您删除static,那么它将是

class MyClass {
  public $prefix;
  public function __construct($prefix) 
  {
    $this->prefix = $prefix;
  }

  public function ImageContent(){
     return $this->prefix;
  }
}

$myClass = new MyClass('the_foody_');
echo $myClass->ImageContent();