Cita:
Iniciado por Calisco Hola, estaba diseñana una pequeña clase y me encontre con este problema que seguro es tipico de novato:
Inserte este codigo en las propiedades de la clase
Código PHP:
var $noti['titulo'] = 'TITULO';
var $noti['fecha'] = '18-07-1977';
var $noti['poster_id'] = '12';
var $noti['comentario'] = 'Texto por defecto. Propiedad vacia.';
Y me dice el error
Parse error: syntax error, unexpected '[', expecting ',' or ';' in C:\Servidor\WEB\ac2\class\ac2adm.inc.php on line 22
Tipico error de sintaxys; el tema es que hasta donde yo se este codigo no tiene error de sintaxys; o por lo menos no lo tiene en un script que no sea parte de la definicion de una clase. Por ejemplo si pongo el mismo codigo en una page quitando la palabra clave
var no me tira error.
Código PHP:
$noti['titulo'] = 'TITULO';
$noti['fecha'] = '18-07-1977';
$noti['poster_id'] = '12';
$noti['comentario'] = 'Texto por defecto. Propiedad vacia.';
Que esta pasando ?
Efectivamente si usas el codigo en una expresion funciona, pero no en el caso de una clase que declara una variable para despues usarla, tu error esta en la forma que asignas los valores, para ello hay dos formas comunes una es en el momento que la declaras y la otra en el contructor de la clase
primer ejemplo:
Código PHP:
class prueba{
var $noti = array( 'titulo' => 'TITULO',
'fecha'=>'18-07-1977',
'poster_id'=>'12',
'comentario'=>'Texto por defecto. Propiedad vacia.'
);
function prueba(){
print_r($this->noti);
return;
}
}
$a = new prueba();
Aqui lo destacable es la forma en la que delcaro y asigno la variable noti.
Desde el constructor puede ser como lo tenias previsto.
Código PHP:
class prueba{
var $noti = array();
function prueba(){
$this->noti['titulo'] = 'TITULO';
$this->noti['fecha'] = '18-07-1977';
$this->noti['poster_id'] = '12';
$this->noti['comentario'] = 'Texto por defecto. Propiedad vacia.';
print_r($this->noti);
return;
}
}
$a = new prueba();