Jump to content


Photo

[Resolvido] Php Orientado A Objeto


  • Faça o login para participar
2 replies to this topic

#1 BrunoF1

BrunoF1

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 25/11/2010, 13:54

Boa tarde pessoal,
Estou começando a estudar PHP e também programação orientado a objeto, então eu fiz um pequeno código em PHP para se conectar com o MySql só que to tendo uns problemas pois não aparece a mensagem de "conectado" ou "banco de dados selecionado" e nem aparece a mensagem de erro de conexão.
Bom vou colocar o código para vocês entenderem melhor. São três arquivos diferentes onde dois tem classe e um só instancia as classes.

Arquivo conecta.php
<?php
/*
 * Conecta SGBD MySql 5.0 ou Superior
 * @author Bruno Silva da Silva
 * @version 1.0 (25/11/2010)
 * @copyright GPL
 */
	class conecta
	{
		/*
		 * Declaração das Variáveis
		 */
		private $servidor;
		private $usuario;
		private $senha;
		
		/* 
		 * Função Construtor
		 * @param String $servidor Recebe o endereço onde se encontra o SGBD MySql
		 * @param String $usuario Recebe o nome de usuário do MySql
		 * @param String $senha Senha do usuário do MySql
		 * @return void Não retorna valor
		 */
		public function __construct($servidor,$usuario,$senha)
		{
			$this->servidor=$servidor;
			$this->usuario=$usuario;
			$this->senha=$senha;
		}
		
		/* 
		 * Função Conectar
		 * Função criada para conectar com o SGBD MySql
		 * @return Object Retorna o objeto da conexação
		 */
		public function conectar()
		{
      		$conexao=mysql_pconnect($this->servidor,$this->usuario,$this->senha);
			if (!$conexao)
			{
				die('Não foi possível conectar: ' . mysql_error());
			}
			else
			{
				echo "Conectado.\n";
			}
      		return $conexao;	
		}
	}
?>

Arquivo seleciona.php
<?php
/*
 * Selciona o Banco de Dados do SGBD MySql 5.0 ou Superior
 * @author Bruno Silva da Silva
 * @version 1.0 (25/11/2010)
 * @copyright GPL
 */
	class seleciona
	{
		/*
		 * Declaração de Variáveis
		 */
		private $banco;
		
		/* 
		 * Função Construtor
		 * @param String $banco Recebe o nome do Banco de Dados do SGBD MySql
		 * @return void Não retorna valor
		 */
		public function __construct($banco)
		{
			$this->banco=$banco;
		}
		
		/*
		 * Funcão Selecionar
		 * Seleciona o Banco de Dados do SGBD MySql
		 * @return void Não retorna valor
		 */
		public function selecionar()
		{
			$seleciona=mysql_select_db($this->banco);
			if (!$seleciona)
			{
				die('Não foi possível selecionar o Banco de Dados: ' . mysql_error());
			}
			else
			{
				echo "Banco de dados selecionado.\n";
			}
		}
	}
?>

Arquivo teste.php
<?php
	require_once 'conecta.php';
	require_once 'seleciona_db.php';
	$conectarteste=new conecta('mysql10.meusite.com.br','meulogin','senha');
	$selecionadb=new seleciona('meubanco');
?>


#2 RenanCunha

RenanCunha

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 29/11/2010, 18:23

Suas classes aparentemente estão certas.

Mas como você quer que o teste.php, rode o que você escreveu, se você não está chamando os métodos das classes que você instanciou?

Você precisa instancear um objeto a tal classe, até ai tudo ok voce fez isso.

Mais ai você precisa usar os métodos desse objeto, que são as funções que você fez na sua classe.

Por exemplo:

<?php
        require_once 'conecta.php';
        require_once 'seleciona_db.php';

        $conectarteste=new conecta('mysql10.meusite.com.br','meulogin','senha');
        $conectartteste->conectar();

        $selecionadb=new seleciona('meubanco');
        $selecionadb->selecionar();


?>

Ai sim, você verá resultados!

#3 BrunoF1

BrunoF1

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 30/11/2010, 08:31

Suas classes aparentemente estão certas.

Mas como você quer que o teste.php, rode o que você escreveu, se você não está chamando os métodos das classes que você instanciou?

Você precisa instancear um objeto a tal classe, até ai tudo ok voce fez isso.

Mais ai você precisa usar os métodos desse objeto, que são as funções que você fez na sua classe.

Por exemplo:

<?php
        require_once 'conecta.php';
        require_once 'seleciona_db.php';

        $conectarteste=new conecta('mysql10.meusite.com.br','meulogin','senha');
        $conectartteste->conectar();

        $selecionadb=new seleciona('meubanco');
        $selecionadb->selecionar();


?>

Ai sim, você verá resultados!


Obrigado, deu certo aqui.

Caso o moderador quiser, pode fechar esse tópico.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq