我正在使用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();
答案 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();