Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] variable externa dentro de clase

Estas en el tema de variable externa dentro de clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola amigos veran soy novato en POO y tengo un problema que para ustedes sera una tonteria pero yo no doy con ello , resulta ...
  #1 (permalink)  
Antiguo 29/07/2012, 13:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
variable externa dentro de clase

hola amigos veran soy novato en POO y tengo un problema que para ustedes sera una tonteria pero yo no doy con ello , resulta que debo pasar una variable externa (fuera de la clase) dentro de una clase que a su vez se extiende a otra clase pongo un ejemplo:

$var = 1;

class numeros
{
function __constructor()
{
$this->numero = $var;
}
}

se que se puede pasar a un metodo($var) pero yo quiero algo asi

$var = 1;

class numeros
{
public $string = $var;

function metodo($valornew=NULL)
{
$this->string= is_null($valornew) ? $this->string : $string;
}
}


es decir si no mando nada por el metodo diga que string es igual a $var = 1 y digamos que $var esta en un fichero externo
Os dire que he probado en el constructor he crado objetos he echo mil cosas y no doy con ello , he mirado en el manual y en google y nada , siempre me la pasa indefinida

lo unico que quiero es meter el valor de $var dentro de la clase para poder usarlo

Última edición por webankenovi; 29/07/2012 a las 14:04
  #2 (permalink)  
Antiguo 29/07/2012, 15:48
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: variable externa dentro de clase

no se entiende que deseas hacer, siempre puedes poner un valor por defecto y sencillamente asignarlo, creo que te complicas mucho

Código PHP:
Ver original
  1. public function metodo($string = 1) {
  2.     $this->string = $string;
  3. }
de esta manera siempre tienes la disponibilidad de cambiar los valores o mandar uno por defecto
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 29/07/2012, 15:58
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: variable externa dentro de clase

haber , te explico lo que deseo hacer es traer los datos de la conexion servidor user pass database del archivo de configuracion y meterlos en la clase de la bd para iniciar la conexion , por eso digo (variable externa dentro de clase ) y aparte de eso pues hay un metodo para cambiar la base de datos entonces necesito que por defecto los datos sean los que estan el archivo config y si en el metodo no se especifica una bd pues tiramos de la de default pero vamos que en eso no tengo problema, lo que en realidad pregunto es esto:

class loquesea {

public $var = 'lo que sea'; // aqui en vez de dar un valor ¿se puede traer una variable externa? ¿public $var = $lavariable que sea;?¿o como debe de ser?

public function __construct(){

$this->var=$var;
}

}
  #4 (permalink)  
Antiguo 29/07/2012, 16:55
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: variable externa dentro de clase

mira como me dieron una opción a mi hace un tiempo cuando comenzaba con la OOP y ve si te sirve
http://www.forosdelweb.com/f18/estoy...1/#post3572245
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 29/07/2012, 17:53
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: variable externa dentro de clase

SOLUCIONADO

aca saque la solucion manual de php como no
http://es.php.net/manual/es/language...properties.php
Código PHP:
Ver original
  1. <?php
  2. class SimpleClass
  3. {
  4.    // Declaraciones inválida de propiedades:
  5.    public $var1 = 'hola ' . 'mundo';
  6.    public $var2 = <<<EOD
  7. hola mundo
  8. EOD;
  9.    public $var3 = 1+2;
  10.    public $var4 = self::myStaticMethod();
  11.    public $var5 = $myVar; // ESTA ES LO QUE YO QUERIA Y INDICA QUE ES INVALIDO POR ESO NO PODIA
  12.  
  13.    // Declaraciones válida de propiedades:
  14.    public $var6 = myConstant; // ESTA ES LA BUENA Y LA SOLUCION
  15.    public $var7 = array(true, false);
  16.  
  17.    // Esto se permite sólo en PHP 5.3.0 y superiores.
  18.    public $var8 = <<<'EOD'
  19. hola mundo
  20. EOD;
  21. }
  22. ?>
  23.  
  24. Aplico un ejemplo breve , en vez de constantes yo pretendia usar variables normales
  25.  
  26. define('id','f68');
  27. define('name','POO');
  28.  
  29. class user {
  30.  
  31. public function crear($id=id,$name=name)
  32. {
  33. echo 'id: '.$id.' name: '.$name ;
  34. }
  35.  
  36. }
  37.  
  38. $tr = new user();
  39. $tr->crear();// si no se envian parametros se cargan las constantes
  40.  
  41. $tr2 = new user();
  42. $tr2->crear('f18','forosdelweb');

Gracias amigo de todas maneras , un saludo y karma

Última edición por webankenovi; 22/01/2013 a las 13:02

Etiquetas: clase, externa, variables
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 23:29.