unexpected t_variable parse errores error end corrector checker php syntax-error

php - t_variable - Error de análisis: error de sintaxis, inesperado ''('', esperando '','' o '';'' en



php syntax checker (2)

No puede inicializar las variables miembro a nada que no sea estático, y está intentando llamar a una función.

Del manual :

Esta declaración puede incluir una inicialización, pero esta inicialización debe ser un valor constante, es decir, debe poder evaluarse en el momento de la compilación y no debe depender de la información del tiempo de ejecución para poder evaluarse.

La solución es establecer su variable en el constructor:

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

Estoy recibiendo el siguiente error de análisis:

Error de análisis: error de sintaxis, inesperado ''('', esperando '','' o '';'' en H: / Programs / USBWebserver v8.5 / 8.5 / root / oopforum / func / register.class.php en la línea 7

que se relaciona con la siguiente línea de código en mi clase:

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

No puedo ver por qué esta línea de código causaría un error de análisis.

Aquí hay un código circundante:

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; } }

¿Qué está causando el error de análisis?


No puedes hacer esto:

private $image_dimensions = getimagesize($temp_dir);

Las funciones, las variables y cualquier otra cosa que no sea estática no se pueden llamar para establecer variables de clase.