Re: unexpected T_NEW on object property
| From: | Jochem Maas | Date: | Fri, 21 Apr 2006 22:01:30 +0000 |
| Subject: | Re: unexpected T_NEW on object property | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-234531@lists.php.net to get a copy of this message | ||
Paul Barry wrote:
..
Then I have another class:
<?php
require_once('model/Address.class.php');
class User {
public $name;
public $address = new Address();
this is wrong. you can define the property in the class
with a constant or scalar value (i.e. literal string,
numeric value or an array) but not a return value of a
function or a 'new' object.
you should initialize the $address property in the contructor
of the User object like so:
class User {
public $name;
public $address;
function __construct($name = '')
{
$this->name = strval($name);
$this->address = new Address;
}
}
it's good practice to only set values to the objects
properties once it's contructed (or while it's being
constructed - as per my example).
} ?>