Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hlegius

Variaveis em classes

Recommended Posts

Salve salve comunidade!

Estou com um pequeno problema aqui, vamos ver se vocês podem me dar uma força:

 

Tenho um arquivo de configuração, onde tem algumas variaveis para configuração e talz.

Tenho em outro arquivo uma classe normal, só que eu estou precisando pegar o valor de uma das variaveis desse arquivo de configuração para passar ao metodo dessa classe.

 

Algo como:

 

configura.php

$myVar = "hlegius";

classe.php

require "configura.php";class teste{ function myFunc(){	 return $myVar; }}$ts = new teste;print $ts->myFunc();

Só que o php retorna: Notice: Undefinied Variable myVar.

 

O que eu poderia fazer ?

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

require "configura.php";class teste{	var $myVar;	function myFunc(){		return $this->myVar;	}}$t = new teste; // cria a classe$t -> myVar = $var_do_config; // o nome da variavel q vem do config$t -> myFunc(); // executa a função myFunc

se você quiser dar um print na funcao

 

print $t -> myFunc();

Tenta assim, eu tb não sou muito bom, mas se não der posta denovo ae B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não daria muito certo para meu propósito não...

Veja porquê:

 

class Mysql{	var $CONN = null;	var $ERRO = null;		/*	 * Realiza a conexão com o banco de dados, e seleciona o banco de dados!	 */	function Conn(){		if(!$this->CONN = mysql_connect(SERV,USER,PASS)){			return false;		}else{			if(!mysql_select_db(BASE,$this->CONN)){				return $this->ERRO = "\nNão foi possível achar banco de dados!";			}else{				return $this->CONN;			}		}	}

Está vendo ? SERV, USER, PASS e BASE é vem de um define() que eu criei no começo deste arquivo para referenciar os dados vindos de config.php

 

Veja:

/* Definindo valores, já que não consigo joga-las dentro da classe direto */define("USER",$BASE['USER']);define("PASS",$BASE['PASS']);define("BASE",$BASE['NAME']);define("SERV",$BASE['SERV']);class Mysql{...

É a unica forma que encontrei até agora para usar as variaveis locais dentro de classes... para mim nada elegante, porém solução provisória.

 

Se alguém souber de outra forma mais "elegante" por favor, me apresente!

 

 

Abraços, e obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa usar global $myVar; e a pagina tem que estar incluida no contexto

 

ou você pode usar assim tbm $GLOBALS["myvar"]

 

mas uma dica pra você é usar define mesmo você cria um arquivo de configuração e nele você define os dados depois só usar exemplo

 

mysql_connect(SERVIDOR, USUARIO, SENHA);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Fabyo!Outra coisa, eu não consigo fazer isso:global $var['indice'] = "value";como poderia proceder neste caso ? ou não posso definir arrays como globais ?Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.