Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Primeira Classe em OOP


nsouza

Pergunta

Colegas

estou começado no fascinante da Orientação a Objeto.

Estou no 1º Periodo da faculdade de Analise e Desenvolvimento de Sistemas.

Criei um classe chamada usuário e gostaria de criar um objeto que exibisse o nome e login do usuario

Tive uma dúvida.

Tenho que criar o método Constructor e Destructor?

Se fosse para exibir o login do usuário na tela principal seria por esse caminho?

Sei que deve esta incompleta, mas não tenho muito conhecimento acho meio dificil OOP, alguém poderia

em cima do meu exemplo me dar uma explicação.

Ps: Se possível de forma bem facil, porque as explicações que leio nos blogs, livros e etc são sempre muito complexas.

Obrigado desde já!!

Tentei fazer assim:

Nome do arquivo: Usuario.Class.php

<?php

class usuario
{
    private $Nome;
    private $Login;


    Function SetNome($Nome)
    {
        $this->Nome = $Nome';
    }

    Function SetLogin($Login)
    {
        $this->Login = $Login;
    }

    Function GetNome($Nome)
    {
        return $this->Nome;
    }

    Function GetLogin($Nome)
    {
        return $this->Login;
    }

}


?>
Nome do arquivo: Objeto.php
$usuario = new usuario

    $usuario.SetNome('Carlos Silva');
    
    $usuario.SetLogin('c_silva');


    echo "O nome do usuario : {$usuario->GetNome()} e o login: {$usuario->GetLogin()} <br>\n";

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

A classe está correta nsouza, só precisa corrigir as chamadas.

Coloque um abre e fecha parenteses ao instanciar um objeto:

$usuario = new usuario();
Troque o '.' por '->'
$usuario->SetNome('Carlos Silva');

$usuario->SetLogin('c_silva');


echo "O nome do usuario : {$usuario->GetNome()} e o login: {$usuario->GetLogin()} <br>\n";

Editado por OxCom
Link para o comentário
Compartilhar em outros sites

  • 0
Obrigado pela correção.

No caso de estar usando um formulário, é só colocar os campos e instanciar a classe conexão?

para trabalhar com formulários + BD:

1) resgate os valores do formulário utilizando $_POST ou $_GET (dependendo do method do formulário:

Exemplo: $usuario->SetNome($_POST['campo_usuario']);

2) Abra a conexão com o banco:

//Para conectar com o banco
$conn = mysql_connect('host' 'user', 'pass')
  or die("Erro na conexao com a base de dados");

$db = mysql_select_db('nome_database', $conn)
     or die("Erro na seleção da base de dados");
3) Execute a instrução SQL
$sql = "INSERT INTO sua_table (campo1, campo2, campoN) VALUES('$usuario->GetNome()', '$usuario->GetSenha()', '$outro_campo');

if(mysql_query($sql))
    echo 'Usuário cadastrado';
else
   echo 'Erro ao cadastrar usuário: '.mysql_error(); // exibe o erro do MySql.

Editado por OxCom
Link para o comentário
Compartilhar em outros sites

  • 0

Caro,

muito obrigado!

Para inserir no banco eu entendi. No caso de capturar o usuário logado e exibir na tela principal, eu

teria que executar um SQL dentro de um método instanciar o objeto no formulário?

Esse ponto que eu estou custando para entender, buscar o registro no banco e exibir usando os métodos.

Agora começa a fazer sentido minha lidas no livro.

O resto eu entendi bem com sua ajuda!

obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Não precisa agradecer não. Conhecimento deve ser compartilhado.

Para realizar consulta no banco de dados você continuará chamando o médoto mysql_query() - para executar os comandos do MySQL e utilizará um outro método mysql_fetch_array() - explico mais adiante.

<?php

$sql = "SELECT campo1, campo2 FROM sua_table WHERE id=X"; //

/* 
A variável $rs (abreviacao que uso para RecordSet) armazena o resultado da execução, 
ou seja, todos os registros estão em $rs */

$rs = mysql_query($sql); 

/* 
mysql_fetch_array() --> tenta transformar em um ARRAY a próxima linha dos resultados. retorna o array em caso consiga converter, ou retorna falso - chegou no fim do resultado; 

NO BOM PORTUGUES a linha abaixo diz: ENQUANTO CONSEGUIR TRANSFORMAR EM ARRAY A PROXIMA LINHA DOS RESULTADOS FAÇA ... 
*/


while($var = mysql_fetch_array($rs)){

$usuario = new usuario();
$usuario->SetNome($var['campo1']); //Veja que o nome da coluna utilizada em $sql virou índice do array gerado no mysql_fetch_array();

}


?>

Editado por OxCom
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...