简体   繁体   中英

How can I create an object inside a class?

How can I do this, as the most obvious way doesn't work:

<?php

    class Inner {

    public $var;
    }

    class Outer {

    $test = new Inner;
    }

?>

Yields:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /f5/debate/public/test.php on line 10

In PHP you can't instantiate a class as a default value of a property. You need to do it in a function (in this case, probably likely the constructor). eg.

class Inner {
    public $var;
}

class Outer {
    public $test;

    public function __construct() {
        $this->test = new Inner();
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM