PHP类实例未初始化(__construct不起作用)

时间:2017-09-03 02:29:57

标签: php

我最近一直试图完成laracasts的教程,在运行此代码之后我不能正确初始化$ article1(我在新的Homestead v6.1.0上运行这个) :

/**
 * @purpose
 *  To hold article data
 */
class Article {
    protected $time_created;
    protected $title;
    protected $text;
    protected $is_published = false;

    public function __contstuct($time_created, $title, $text) {
        $this->time_created = $time_created;
        $this->title = $title;
        $this->text = $text;
    }
}

$article1 = new Article(time(), "this is the 1st article", "This is the long long text.");

var_dump($article1);

更具体地说,我得到了这个结果: To be more specific, I get this as a result

1 个答案:

答案 0 :(得分:0)

首先,你不会看到你班级的任何属性,因为他们是受保护的,你有2个选择:

  1. 将PROTECTED更改为PUBLIC。
  2. 根据您的需要为每个属性定义getter,或者为所有属性定义一个getter。

    public function getProperties() {  返回[          'time_created'=> $这 - > TIME_CREATED,          'title'=> $这 - >标题,          'text'=> $这个 - >文字,          'is_published'=> $这 - > is_published     ]。 }

  3. 根据需要设计代码。