Sunday, May 26, 2019

php - Parse error: syntax error, unexpected '(', expecting ',' or ';' in



I am recieveing the following parse error:





Parse error: syntax error, unexpected '(', expecting ',' or ';' in
H:\Programs\USBWebserver
v8.5\8.5\root\oopforum\func\register.class.php on line 7




which relates to the following line of code in my class:



private $random_name = rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999);



I can not see why this line of code would cause a parse error?



Here is some surrounding code:



class register{
public $post_data = array();
private $dbh;
private $allowed_type = array('image/jpeg','image/png','image/gif');

private $random_name = rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999);
private $path = 'img/thumb_/'.$random_name. $_FILES['file']['name'];
private $max_width = 4040;
private $max_height = 4040;
private $max_size = 5242880;
private $temp_dir = $_FILES['file']['tmp_name'];
private $image_type = $_FILES['file']['type'];
private $image_size = $_FILES['file']['size'];
private $image_name = $_FILES['file']['name'];
private $image_dimensions = getimagesize($temp_dir);

private $image_width = $image_dimensions[0]; // Image width
private $image_height = $image_dimensions[1]; // Image height
private $error = array();

public function __construct($post_data, PDO $dbh){
$this->post_data = array_map('trim', $post_data);
$this->dbh = $dbh;
}
}



What is causing the parse error?


Answer



You can't initialize member variables to anything that is not static, and you're trying to call a function.



From the manual:




This declaration may include an initialization, but this
initialization must be a constant value--that is, it must be able to

be evaluated at compile time and must not depend on run-time
information in order to be evaluated.




The workaround is to set your variable in the constructor:



private $random_name;
public function __construct() {
$this->random_name = rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999);
}


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...