Foros del Web » Programando para Internet » PHP »

Error en clases

Estas en el tema de Error en clases en el foro de PHP en Foros del Web. No se porque me da este error, alguien me ayuda? 04: class laClase { 05: 06: static $a = $_SERVER['REMOTE_ADDR']; 07: 08: static function elMetodo() ...
  #1 (permalink)  
Antiguo 09/09/2013, 21:08
 
Fecha de Ingreso: julio-2011
Mensajes: 108
Antigüedad: 12 años, 9 meses
Puntos: 4
Pregunta Error en clases

No se porque me da este error, alguien me ayuda?

04: class laClase {
05:
06: static $a = $_SERVER['REMOTE_ADDR'];
07:
08: static function elMetodo() {
09: return self::$a;
10: }
11: }
12:
13: $b = new laClase();
14: echo $b->elMetodo();

Salida:
Parse error: syntax error, unexpected '$_SERVER' (T_VARIABLE) on line 6
  #2 (permalink)  
Antiguo 09/09/2013, 22:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error en clases

Dependiendo de tu versión de PHP se pueden usar ciertas expresiones a nivel de definición de clases, no tengo el dato exacto pero te aconsejo revisar el manual y ver si tu versión de PHP soporta dichas características.

Aquí: http://php.net/manual/es/language.oop5.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/09/2013, 22:51
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Error en clases

Cita:
Iniciado por nicolasroma Ver Mensaje
No se porque me da este error, alguien me ayuda?

04: class laClase {
05:
06: static $a = $_SERVER['REMOTE_ADDR'];
07:
08: static function elMetodo() {
09: return self::$a;
10: }
11: }
12:
13: $b = new laClase();
14: echo $b->elMetodo();

Salida:
Parse error: syntax error, unexpected '$_SERVER' (T_VARIABLE) on line 6
El problema es por que solo puedes iniciar variables mediante valores constantes.
Cita:
Esta declaración puede incluir una inicialización, pero esta inicialización debe ser un valor constante, es decir, debe poder ser evaluada en tiempo de compilación y no debe depender de información en tiempo de ejecución para ser evaluada
http://www.php.net/manual/es/languag...properties.php
la excepcion es el uso de nowdocs en php 5.3+
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: clases, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:37.