Nueva pregunta

Pregunta:

Fecha: 05-12-2017 08:29:45 (En Español)

Hola Buentas tarde, tengo un problema con namespace; y la prop $this->[No resuelta]

Hola Buentas tarde, tengo un problema con namespace; y el contexto $this-> Este es el problema::::

<?php namespace group;

class hola{
private $hey;

public static function dar($hola){

$this->hey = $hola;

}

public static function mostrar(){
echo $this->hey;
}


}

//esto es solo para probar.
$hola = new hola();
$hola->dar("hola");
$hola->mostrar();


?>

El error fatal es: Error no detectado: usando $ this cuando no está en el contexto del objeto en # on line 8

estoy utilizando namespace; que puedo utilizar, para el mismo funcionamiento de this, sin utilizar $this. es que quiero guardar datos en la propiedad de un objeto, para utilizar esos datos en los métodos utilizando self:: o $this; pero no me deja utilizar $this. que puedo hacer en ese caso. o me pueden explicar por que el error.

Mucha gracias.

Etiquetas: PHP - POO Votos: 0 - Respuestas: 3 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 06-12-2017 05:10:32 Hola Yolfy,
    Por favor utiliza los botones de BBCode para formatear correctamente tu código PHP.
    No cuesta mucho y es realmente útil.

    Tu problema es que declaraste tus métodos estáticos. Remueve la palabra static de la definición y verás como funciona correctamente
      Votos: 0 - Link respuesta
     
  • Fecha: 10-12-2017 13:41:37 Hola el problema radica en que estas usando la paralaba reservada static cuando defines un metodo en este caso es mejor que uses self entonces el llamado a tu metodo seria
    hola::dar("hola mundo");
    hola::mostrar();
    

    Recuerda que las clases en php por convención y buena practica la primera letra va en mayúscula igual que el nombre del archivo en este caso
    #nombre dela archivo HolaController.php
    <?php
    class HolaController {
      public function index(){}
    }
    
      Votos: 0 - Link respuesta
     
  • Fecha: 11-12-2017 14:16:28 El problema es que estas usando $this en un método estático por eso está fuera de contexto. Para ello debes usar nombreClase::metodo y así podrás mostrar lo que quieres, con las variables pasa algo similar nombreClase::$variable   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com