2012-08-10 13 views
5

Tengo una variable privada en mi claseAcceso variable privada de la función estática en php

private $noms = array(
     "HANNY", 
     "SYS", 
     "NALINE" 
); 

Quiero acceder a él desde un método estático:

public static function howManyNom($searchValue){ 

     $ar = $this->noms; 

     foreach($ar as $key => $value) { 

... 

Pero lo más normal i cant recuperarlo con $ this porque no hay instancia en un método estático.

¿Cuál es la sintaxis correcta para obtener $ noms dentro de mi función estática?

+0

make the $ noms array static also – martynthewolf

Respuesta

13

¡Haga este atributo estático también!

private static $noms = array(
    "HANNY", 
    "SYS", 
    "NALINE" 
); 


public static function howManyNom($searchValue){ 

    $ar = self::$noms; 

    foreach($ar as $key => $value) { 
+0

ya probado y cuando lo llamo self :: nom dice 'nom' no está definido – Michele

+0

He editado - ¡Eche un vistazo! – tuxtimo

+0

¿funciona ahora? – tuxtimo

0

Para acceder a la matriz $ noms que sea estática, lo haces de esta manera:

private static $noms = array();

A continuación, Access que de este modo:

self::$noms['some key'];

+0

esto está mal - yo mismo sin el $ -char! – tuxtimo

+0

@tuxtimo anima amigo, ya lo tengo, error tipográfico :( – martynthewolf

0

Tiene que hacer los noms estáticos también y acceder a través de self :: $ noms.

Cuestiones relacionadas