Ronny Santana Postado Outubro 18, 2010 Denunciar Share Postado Outubro 18, 2010 Ola, Boa Tarde Amigos!Estou fazendo um pequeno aplicativo em OOP para gerenciamento de Link's e Redirecionamentos com Url Amigáveis...A dúvida é a seguinte: Como posso usar um Objeto dentro de outro Objeto dentro da propria Classe e pegar uma variavel e colocar dentro do Objeto?Abaixo o Código.<?php class newConfig { function SqlQuery($GoUrl_cod) { include "../settings-and-functions.php"; ConnectSelectBDGeral(); $SelectTBGoUrl = mysql_query ("SELECT * FROM GoUrl WHERE GoUrl_cod='$GoUrl_cod' "); $RowsTBGoUrl = mysql_num_rows ($SelectTBGoUrl); while($mostra = mysql_fetch_array($SelectTBGoUrl)) { $GoUrl_cod = $mostra['GoUrl_cod']; $GoUrl_name = $mostra['GoUrl_name']; $GoUrl_url = $mostra['GoUrl_url']; $GoUrl_count = $mostra['GoUrl_count']; return $GoUrl_name } } public function GoUrl($GoUrl_cod) { $this->SqlQuery($GoUrl_cod); return $GoUrl_url = "<a href='http://www.ronnysantana.com.br/GoUrl/". $GoUrl_cod ."'>". $GoUrl_name . "</a>"; } } $newConfig = new newConfig; print $newConfig->GoUrl('aL-A9njxPa'); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Outubro 18, 2010 Denunciar Share Postado Outubro 18, 2010 Segue exemplo:<?php class ClasseA { public function __construct() { } public function createInstance() { $this->objetoB = new ClasseB(); } } class ClasseB { public function __construct() { } public function metodoB() { echo 'Método metodoB() da classe ClasseB invocado!'; } } $objetoA = new ClasseA(); $objetoA->createInstance(); $objetoA->objetoB->metodoB(); ?> Segue mais <?php class ClasseA { public function __construct() { } public function createInstance() { $this->objetoB = new ClasseB(); } } class ClasseB { private $valor; public function __construct() { } public function metodoB() { echo 'Método metodoB() da classe ClasseB invocado!'; } public function setValor($valor) { $this->valor = $valor; } public function getValor() { return $this->valor; } } //TESTANDO $objetoA = new ClasseA(); $objetoA->createInstance(); $objetoA->objetoB->metodoB(); $objetoA->objetoB->setValor('Ola mundo'); echo '<h1>', $objetoA->objetoB->getValor(), '</h1>'; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronny Santana Postado Outubro 18, 2010 Autor Denunciar Share Postado Outubro 18, 2010 Segue exemplo:<?php class ClasseA { public function __construct() { } public function createInstance() { $this->objetoB = new ClasseB(); } } class ClasseB { public function __construct() { } public function metodoB() { echo 'Método metodoB() da classe ClasseB invocado!'; } } $objetoA = new ClasseA(); $objetoA->createInstance(); $objetoA->objetoB->metodoB(); ?> Segue mais <?php class ClasseA { public function __construct() { } public function createInstance() { $this->objetoB = new ClasseB(); } } class ClasseB { private $valor; public function __construct() { } public function metodoB() { echo 'Método metodoB() da classe ClasseB invocado!'; } public function setValor($valor) { $this->valor = $valor; } public function getValor() { return $this->valor; } } //TESTANDO $objetoA = new ClasseA(); $objetoA->createInstance(); $objetoA->objetoB->metodoB(); $objetoA->objetoB->setValor('Ola mundo'); echo '<h1>', $objetoA->objetoB->getValor(), '</h1>'; Mais e no meu caso, seria assim? Obs.: Eu preciso que "$GoUrl_name" da func "SqlQuery" retorne para a func "GoUrl" <?php class newConfig { function SqlQuery($GoUrl_cod) { include "../settings-and-functions.php"; ConnectSelectBDGeral(); $SelectTBGoUrl = mysql_query ("SELECT * FROM GoUrl WHERE GoUrl_cod='$GoUrl_cod' "); $RowsTBGoUrl = mysql_num_rows ($SelectTBGoUrl); while($mostra = mysql_fetch_array($SelectTBGoUrl)) { $GoUrl_cod = $mostra['GoUrl_cod']; $GoUrl_name = $mostra['GoUrl_name']; $GoUrl_url = $mostra['GoUrl_url']; $GoUrl_count = $mostra['GoUrl_count']; return $GoUrl_name } } public function GoUrl($GoUrl_cod) { $this->SqlQuery($GoUrl_cod); return $GoUrl_url = "<a href='http://www.ronnysantana.com.br/GoUrl/". $GoUrl_cod ."'>". $GoUrl_name . "</a>"; } } $newConfig = new newConfig; print $newConfig->GoUrl('aL-A9njxPa'); ?>No que você explicou e postou o exemplo, é com class dentro de class, eu preciso apenas de function dentro de function e retorne um resultado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Outubro 18, 2010 Denunciar Share Postado Outubro 18, 2010 Brother,Este seu código esta muito confuso.... muito mesmo!<?php //include "../settings-and-functions.php"; function ConnectSelectBDGeral() { mysql_connect('localhost', 'root', ''); mysql_select_db('test'); } class newConfig { private $GoUrl_name; public function SqlQuery($GoUrl_cod) { ConnectSelectBDGeral(); $SelectTBGoUrl = mysql_query ("SELECT * FROM GoUrl WHERE GoUrl_cod='$GoUrl_cod' "); $RowsTBGoUrl = mysql_num_rows ($SelectTBGoUrl); while($mostra = mysql_fetch_array($SelectTBGoUrl)) { $GoUrl_cod = $mostra['GoUrl_cod']; $GoUrl_name = $mostra['GoUrl_name']; $GoUrl_url = $mostra['GoUrl_url']; $GoUrl_count = $mostra['GoUrl_count']; } $this->GoUrl_name = $mostra; } public function GoUrl($GoUrl_cod) { $this->SqlQuery($GoUrl_cod); return $GoUrl_url = "<a href='http://www.ronnysantana.com.br/GoUrl/". $GoUrl_cod ."'>". $this->GoUrl_name . "</a>"; } } //TESTANDO $newConfig = new newConfig(); print $newConfig->GoUrl('aL-A9njxPa'); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ronny Santana Postado Outubro 18, 2010 Autor Denunciar Share Postado Outubro 18, 2010 Brother,Este seu código esta muito confuso.... muito mesmo!<?php //include "../settings-and-functions.php"; function ConnectSelectBDGeral() { mysql_connect('localhost', 'root', ''); mysql_select_db('test'); } class newConfig { private $GoUrl_name; public function SqlQuery($GoUrl_cod) { ConnectSelectBDGeral(); $SelectTBGoUrl = mysql_query ("SELECT * FROM GoUrl WHERE GoUrl_cod='$GoUrl_cod' "); $RowsTBGoUrl = mysql_num_rows ($SelectTBGoUrl); while($mostra = mysql_fetch_array($SelectTBGoUrl)) { $GoUrl_cod = $mostra['GoUrl_cod']; $GoUrl_name = $mostra['GoUrl_name']; $GoUrl_url = $mostra['GoUrl_url']; $GoUrl_count = $mostra['GoUrl_count']; } $this->GoUrl_name = $mostra; } public function GoUrl($GoUrl_cod) { $this->SqlQuery($GoUrl_cod); return $GoUrl_url = "<a href='http://www.ronnysantana.com.br/GoUrl/". $GoUrl_cod ."'>". $this->GoUrl_name . "</a>"; } } //TESTANDO $newConfig = new newConfig(); print $newConfig->GoUrl('aL-A9njxPa'); ?> Certo, vou colocar no formato que deu certo e te explicar melhor... O CODIGO: <?php class newConfig { // CRIA A CLASSE public function GoUrl($GoUrl_cod) { // CRIA A FUNÇÃO include "../settings-and-functions.php"; // INCLUDE ARQUIVO DE CONFIGURAÇÃO DO SQL ConnectSelectBDGeral(); // CHAMA A FUNÇÃO DO SQL QUE ESTA EM "settings-and-functions.php" $SelectTBGoUrl = mysql_query ("SELECT * FROM GoUrl WHERE GoUrl_cod='$GoUrl_cod' "); // O RESTO É NORMAL DO DB $RowsTBGoUrl = mysql_num_rows ($SelectTBGoUrl); while($mostra = mysql_fetch_array($SelectTBGoUrl)) { $GoUrl_cod = $mostra['GoUrl_cod']; $GoUrl_name = $mostra['GoUrl_name']; $GoUrl_url = $mostra['GoUrl_url']; $GoUrl_count = $mostra['GoUrl_count']; } return $GoUrl_url = "<a href='http://www.jostape.com.br/GoUrl/". $GoUrl_cod ."'>". $GoUrl_name . "</a><br/>"; } } $newConfig = new newConfig; print $newConfig->GoUrl('aL-A9njxPa'); ?>Deu pra entender, dessa forma funciona perfeitamente com as informações vindo do DB... veja: http://www.jostape.com.br/GoUrl/teste.class.phpO que eu tentei fazer, é colocar a consulta SQL pra pegar o nome do site em uma nova função, só pra ficar um pouco mais organizado!Tem alguma sugestão?Obrigado pela ajuda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Outubro 19, 2010 Denunciar Share Postado Outubro 19, 2010 Salve,Nenhuma :huh: <?php /* CREATE TABLE GoUrl ( GoUrl_cod VARCHAR(255) NOT NULL, GoUrl_name VARCHAR(255) NULL, CONSTRAINT PK_GoUrl PRIMARY KEY(GoUrl_cod) ) ENGINE = INNODB; INSERT INTO GoUrl VALUES('aL-A9njxPa', 'http://www.google.com/'); SELECT GoUrl_cod, GoUrl_name FROM GoUrl; */ function ConnectSelectBDGeral() { mysql_connect('localhost', 'root', ''); mysql_select_db('test'); } class newConfig { public function GoUrl($GoUrl_cod) { return $this->SqlQuery($GoUrl_cod); } private function SqlQuery($GoUrl_cod) { ConnectSelectBDGeral(); $SelectTBGoUrl = mysql_query ("SELECT GoUrl_name FROM GoUrl WHERE GoUrl_cod='$GoUrl_cod';"); $mostra = mysql_fetch_assoc($SelectTBGoUrl); $GoUrl_name = $mostra['GoUrl_name']; return $GoUrl_url = "<a href='http://www.jostape.com.br/GoUrl/". $GoUrl_cod ."'>". $GoUrl_name . "</a><br/>"; } } $newConfig = new newConfig(); print $newConfig->GoUrl('aL-A9njxPa'); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ronny Santana
Ola, Boa Tarde Amigos!
Estou fazendo um pequeno aplicativo em OOP para gerenciamento de Link's e Redirecionamentos com Url Amigáveis...
A dúvida é a seguinte: Como posso usar um Objeto dentro de outro Objeto dentro da propria Classe e pegar uma variavel e colocar dentro do Objeto?
Abaixo o Código.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.