hlegius 0 Denunciar post Postado Janeiro 6, 2006 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
fantasmi 0 Denunciar post Postado Janeiro 6, 2006 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
hlegius 0 Denunciar post Postado Janeiro 6, 2006 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
Fabyo 66 Denunciar post Postado Janeiro 6, 2006 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
hlegius 0 Denunciar post Postado Janeiro 6, 2006 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
Fabyo 66 Denunciar post Postado Janeiro 6, 2006 você só chama o global na hora de usar a variavel global $var; Compartilhar este post Link para o post Compartilhar em outros sites
hlegius 0 Denunciar post Postado Janeiro 6, 2006 ah certo, valeu novamente Fabyo!Abraços Compartilhar este post Link para o post Compartilhar em outros sites