我正在尝试访问一个函数,但显示错误Fatal error: Using $this when not in object context
我尝试排除正在使用static
但仍然无法唤醒的$this
class Header
{
private static $instance = null;
public $styles = '';
public function __construct( $styles ){
if(!empty($styles)){
$this->setStyles($styles);
}
}
public function setStyles( $styles ){
return $this->styles = $styles;
}
public function getStyles(){
return $this->styles;
}
public function renderHeader(){
return self::headerDefaults();
}
public static function headerDefaults(){
self::headerLayout($this->getStyles()); //error is on this line
}
public static function headerLayout( $styles ){
switch ($styles) {
case 'one':
self::headerStyleOne();
break;
default:
break;
}
}
public static function headerStyleOne(){
?>
<div>Header1</div>
<?php
}
public static function getInstance(){
if (empty(self::$instance)) {
self::$instance = new self();
}
return self::$instance;
}
}
并调用类似的功能
$header = new Header('one');
echo $header->renderHeader();