我对OOP很陌生,所以我遇到了一个小问题
我已经创建了一个类class Lesson {
function Lesson( $title, $sample ) {
$this->title = $title;
$this->sample = $sample;
}
}
对象
$title = 'title';
$sample = false;
$lesson = new Lesson( $title, $sample );
当我试图访问对象
的属性时echo $lesson->title
我得到这个错误信息
"脚本试图执行方法或访问对象的属性不完整的对象……"
您需要将function Lesson
更改为function __construct
,以便在创建时传递这些值。
class Lesson {
function __construct( $title, $sample ) {
$this->title = $title;
$this->sample = $sample;
}
}
否则,您必须像这样创建它:
$lesson = new Lesson();
$lesson->Lesson($title, $sample);
echo $lesson->title;
您的属性没有定义。尝试将它们添加到类声明的顶部。
class Lesson {
public $title = '';
public $sample = '';
public function Lesson( $title, $sample ) {
$this->title = $title;
$this->sample = $sample;
}
}
构造函数语法也取决于php的版本。如果你是> 5.3.3,你应该使用__construct()
class Lesson {
public $title = '';
public $sample = '';
function __construct( $title, $sample ) {
$this->title = $title;
$this->sample = $sample;
}
}