How can complex assignments be made to variables and arrays in objects in PHP, especially when encountering errors with simple assignments like public $time = time()?
When encountering errors with simple assignments like public $time = time(), it is important to remember that complex assignments, such as assigning the result of a function call or expression, cannot be done directly in the class definition in PHP. To solve this issue, you can use the constructor method (__construct) to initialize the variable or array in the object. This allows you to perform more complex assignments and calculations during object instantiation.
class MyClass {
public $time;
public function __construct() {
$this->time = time();
}
}
$obj = new MyClass();
echo $obj->time;