Ir para conteúdo

POWERED BY:

Arquivado

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

Walter Aragão

[Resolvido] php O.O

Recommended Posts

Pessoal boa noite,

estou a algum tempo tentando estudar sobre php Orientado ao objeto , ja desenvolvi bastante no php procedural. Mas vamos a minha dúvida , queria saber como eu faço para em um metodo eu adicionar o valor de um calculo a uma variavel para adicionar no banco de dados. ex : tenho a classe abaixo ..

e quero adicionar o $resultado a um campo no banco .. como faço ? OBS : queria saber se isso foge do conceito de orientação ao objeto , se fugir qual o melhor jeito de fazer isso... ? obrigado

 


$numero = 123;

class PrimeiraClasse{

private $var1;
private $var2;
private $resultado;

public function __construct(){

}

public function imprime ($valor){

$this -> var1 = $this -> var2 = $valor;
   $this-> resultado = $this -> var1 + $this ->var2 * 2;
echo $this -> resultado;
}

}


$obj = new PrimeiraClasse();
$obj -> imprime($numero);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem muito a ver com Orientação a Objetos a sua dúvida. Você precisa ainda de uma conexão com o banco de dados, do mesmo jeito que precisava com o código procedural.

 

A dúvida é sobre como integrar isso a um objeto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem muito a ver com Orientação a Objetos a sua dúvida. Você precisa ainda de uma conexão com o banco de dados, do mesmo jeito que precisava com o código procedural.

 

A dúvida é sobre como integrar isso a um objeto?

 

a minha dúvida é como faço para inserir no banco de dados o resultado calculado no metodo(function) ..

a variavel $resultado ta com a resposta .. mais como eu insiro no banco?

 

INSERT INTO calculos(resultado) VALUES (.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal boa noite,

estou a algum tempo tentando estudar sobre php Orientado ao objeto , ja desenvolvi bastante no php procedural. Mas vamos a minha dúvida , queria saber como eu faço para em um metodo eu adicionar o valor de um calculo a uma variavel para adicionar no banco de dados. ex : tenho a classe abaixo ..

e quero adicionar o $resultado a um campo no banco .. como faço ? OBS : queria saber se isso foge do conceito de orientação ao objeto , se fugir qual o melhor jeito de fazer isso... ? obrigado

 


$numero = 123;

class PrimeiraClasse{

private $var1;
private $var2;
private $resultado;

public function __construct(){

}

public function imprime ($valor){

$this -> var1 = $this -> var2 = $valor;
   $this-> resultado = $this -> var1 + $this ->var2 * 2;
echo $this -> resultado;
}

}


$obj = new PrimeiraClasse();
$obj -> imprime($numero);

e quero adicionar o $resultado a um campo no banco .. como faço ?

nao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor, se você sabe que o Query Object se aplica ao caso, defenda sua teoria e exponha, para àqueles que não entendem direito (como eu) o que esse padrão é e/ou o que faz e o porquê ele é o mais adequado.

 

Assim enriquecemos a discussão. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, concordo com você bruno, o padrao query object constroi dinamicamente uma linha de sql se você precisar escrever o sql, apenas dando os dados a inserir, atualizar, deletar, selecionar...como o amigo disse, ele ker adicionar o campo ao banco, veja q ele tem 2 duvidas...o padrao query object resolve a segunda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, concordo com você bruno, o padrao query object constroi dinamicamente uma linha de sql se você precisar escrever o sql, apenas dando os dados a inserir, atualizar, deletar, selecionar...como o amigo disse, ele ker adicionar o campo ao banco, veja q ele tem 2 duvidas...o padrao query object resolve a segunda...

 

Isso seria complicar o simples, além do mais query object é pra definir um objeto como uma representação de uma forma gramal, primeiro que ele não está utilizando a mesma estrutura em todas as classes, pelo que vi o método será interno, o que já deixa de lado a reutilização ..

 

O problema dele é apenas pegar o valor da variável e gravar no banco SÓ ISSO.

 

<?php
      $connection = mysql_connect ( 'localhost' , 'root' , 'senha' ) ;
      mysql_select_db ( 'bancoDeDados' , $connection ) ;

      class PrimeiraClasse {

             private $var1 , $var2 , $resultado ; 

             public function calcula ( $valor ) {
                    $this->var1 = $valor ;
                    $this->var2 = $valor ;
                    $this->resultado = ( $this->var1 + $this->var2 ) * 2 ;
                    return $this->resultado ;
             }

             public function insert ( $connection ) {
                    $result = $this->resultado ;
                    $sql = sprintf ( 'INSERT INTo `tabela`( `resultado` ) VALUES ( %d )' , $result ) ;
                    mysql_query ( $sql , $connection ) ;
             }
      }

      $Class = new PrimeiraClasse ( ) ;
      $resultado = $Class->calcula ( 10 ) ;
      $Class->insert ( $connection ) ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

concordo com você, porem o simples demais, sem os devidos cumprimentos das regras, acaba virando gambiarra...enfim, eu so kiz ajudar...

 

Entendo perfeitamente, mas ele 'salvando no banco de uma forma genérica', não estaria 'desobedecendo' regra alguma, apenas solucionando o problema de uma forma que ele possa interpretar.

 

Afinal não é porque a pessoa utiliza OO, que tem que utilizar patterns para resolver problemas, os patterns foram feitos pra isso, resolver cujo o mesmo tenha um determinado contexto, e nesse caso, ele não tem problema algum em que se aplica o uso de um pattern, o qual ele mesmo desconhece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, concordo com você bruno, o padrao query object constroi dinamicamente uma linha de sql se você precisar escrever o sql, apenas dando os dados a inserir, atualizar, deletar, selecionar...como o amigo disse, ele ker adicionar o campo ao banco, veja q ele tem 2 duvidas...o padrao query object resolve a segunda...

Só pra ver se estou acompanhando a discussão certo. Seria isso:

 

$select = new Select( 'tabela' );

$select -> where( 'campo1 = ?', $valor1 )
       -> where( 'campo2 = ?', $valor2 );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso seria complicar o simples, além do mais query object é pra definir um objeto como uma representação de uma forma gramal, primeiro que ele não está utilizando a mesma estrutura em todas as classes, pelo que vi o método será interno, o que já deixa de lado a reutilização ..

 

O problema dele é apenas pegar o valor da variável e gravar no banco SÓ ISSO.

 

<?php
      $connection = mysql_connect ( 'localhost' , 'root' , 'senha' ) ;
      mysql_select_db ( 'bancoDeDados' , $connection ) ;

      class PrimeiraClasse {

             private $var1 , $var2 , $resultado ; 

             public function calcula ( $valor ) {
                    $this->var1 = $valor ;
                    $this->var2 = $valor ;
                    $this->resultado = ( $this->var1 + $this->var2 ) * 2 ;
                    return $this->resultado ;
             }

             public function insert ( $connection ) {
                    $result = $this->resultado ;
                    $sql = sprintf ( 'INSERT INTo `tabela`( `resultado` ) VALUES ( %d )' , $result ) ;
                    mysql_query ( $sql , $connection ) ;
             }
      }

      $Class = new PrimeiraClasse ( ) ;
      $resultado = $Class->calcula ( 10 ) ;
      $Class->insert ( $connection ) ;

 

entendi perfeitamente amigo , muito obrigado ..

Valeu pela a atenção também Igor , procurarei sobre isso , valeu pela dica !!!!

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.