Foros del Web » Programando para Internet » PHP »

Acceso a variables desde dentro de una clase

Estas en el tema de Acceso a variables desde dentro de una clase en el foro de PHP en Foros del Web. Hola a todos, Necesito acceder a variables que estan fuera de una clase desde dentor de la clase...se entiende?... algo asi <?php $nombre = $_POST['txtnombre']; ...
  #1 (permalink)  
Antiguo 21/11/2002, 08:08
 
Fecha de Ingreso: agosto-2002
Mensajes: 6
Antigüedad: 21 años, 8 meses
Puntos: 0
Acceso a variables desde dentro de una clase

Hola a todos,

Necesito acceder a variables que estan fuera de una clase desde dentor de la clase...se entiende?...

algo asi

<?php

$nombre = $_POST['txtnombre'];

class MiClase
{
echo "$nombre"; //ERROR

}

alguien sabe la sintaxis para hacer esto (si hacer $nombre = new MiClase; )

gracias
  #2 (permalink)  
Antiguo 21/11/2002, 09:09
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
agassmann... hacer lo que quieres hacer viola uno de los principios fundamentales del diseño orientado a objetos, que es el encapsulamiento.
Me parece que no tienes muy en claro la POO, así que te recomiendo que leas priero un muy buen artículo que hay en http://www.phpbuilder.com (Escrito por Luis Argerich).

Si necesitás pasarle una variable a un OBJETO (no una Clase), entonces es necesario que crees un atributo(variable interna) dentro del objeto para guardar alli el valor, y es necesario que crees un método(función) para pasarle el valor al objeto y que este lo guarde o lo use.:

Código PHP:
<?
class Prueba
{
    var 
$valor;

    function 
aceptar_valor($externo)
    {
        
$this->valor $externo;
        return;
    }

    function 
mostrar()
    {
        echo 
$this->valor;
        return;
    }
}

$temp $_POST["variable"];
$objeto = new Prueba();
$objeto->aceptar_valor($temp);
$objeto->mostrar();
?>
Saludos.
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 15:52.