Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

PHP oo - Conexão mysql + logs

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Tutorial PHP oo - Conexão mysql + logs

    Ola gente, hoje não postarei um tutorial em si, mas sim uma classe php
    que acabei de criar que faz conexão ao banco de dados e criação de logs de erros.

    Outra coisa, se possivel vamos ampliar esse topico, com algumas discuções dicas e o aprimoramento do codigo, desde novas funções e aprimoramento das existentes.
    Irei responder o topico conforme vocês também participarem, se não responderem eu tanbem
    aprimorarei o codigo mas ficara private so meu '-' mas se gostarem e quiserem aprimorar compartilhe que eu aprimorarei tbm e postarei todas as versões* novas ( muito para um codigo tão pequeno ne ? mas sera legal, basta participarem )

    Código PHP:
    <?php
        
    //criamos nossa classe Mysql.
        
    class Mysql{
            
    //criamos os atributos basicos para essa classe.
            
    public   $Mysql_Host;
            public   
    $Mysql_User;
            public   
    $Mysql_Pas;
            public   
    $Mysql_Erro;
                    
            
    //O metodo Set ira atribuir o valor para um atributo.
            
    public function Set($nome,$valor){
                
    $this->$nome $valor;
            }
            
            public function 
    Connect(){
                
    //conexão simples com mysql_connect().
                
    @$con mysql_connect($this->Mysql_Host,$this->Mysql_User,$this->Mysql_Pass);    
                
    //verificamos se ouve algum erro.
                
    if(!$con){
                    
    //caso sim : 
                    //atribuimos ao atributo Mysql_Erro o erro retornado pelo mysql_error().
                    
    $this->Mysql_Erro mysql_error();
                    
    //e chamamos o metodo error para tratar o erro.
                    
    Mysql::error();
                }
            }
            
            
    //Metodo error ira fazer o tratamento do erro gerado pelo mysql e 
            //criar um arquivo com o log do erro.
            
    public function error(){
                
    //novamente verificamos se ouve algum erro no mysql.
                
    if(!$con){
                    
    //caso sim :
                    //abrimos o arquivo de log.
                    
    $Log_Open fopen('../Logs/Erro.html''a');
                    
                    
    //aqui ocorrera todo o tratamento do log.
                    
    $Log_String  '<hr />';
                    
    $Log_String .= date('h:i:s - d/m/y');
                    
    $Log_String .= ' - ';
                    
    $Log_String .= $this->Mysql_Erro;
                    
                    
    //ao final escrevemos no arquivo de log.
                    
    $Log_Write fwrite($Log_Open$Log_String);    
                    
                    
    //e fechamos o arquivo.
                    
    $Log_Close fclose($Log_Open);
                }
            }
        }
        
    //instanciamos nossa classe Mysql.
        
    $mysql = new Mysql();
        
    //atravez no metodo Set atribuiremos o valor para cada atributo.
        
    $mysql->Set('Mysql_Host''localhost');
        
    $mysql->Set('Mysql_User''user');
        
    $mysql->Set('Mysql_Pass''senha');
        
    //e em fim criamos a conexão.
        
    $mysql->Connect();
        
    ?>
    Não esqueça, participem
    18
    Sim
    72.22%
    13
    Não
    5.56%
    1
    Oque é Orientação a Objeto *-*
    22.22%
    4
    Hospedagem profissional + 50gb de espaço + trafego ilimitado + email com seu dominio (contato@seudominio.com) Por : 11,90 ? Só falar comigo.

    Similar Threads

  • Font Size
    #2
    Postado Originalmente por NICKInhoO' Ver Post
    Ola gente, hoje não postarei um tutorial em si, mas sim uma classe php
    que acabei de criar que faz conexão ao banco de dados e criação de logs de erros.

    Outra coisa, se possivel vamos ampliar esse topico, com algumas discuções dicas e o aprimoramento do codigo, desde novas funções e aprimoramento das existentes.
    Irei responder o topico conforme vocês também participarem, se não responderem eu tanbem
    aprimorarei o codigo mas ficara private so meu '-' mas se gostarem e quiserem aprimorar compartilhe que eu aprimorarei tbm e postarei todas as versões* novas ( muito para um codigo tão pequeno ne ? mas sera legal, basta participarem )

    Código PHP:
    <?php
        
    //criamos nossa classe Mysql.
        
    class Mysql{
            
    //criamos os atributos basicos para essa classe.
            
    public   $Mysql_Host;
            public   
    $Mysql_User;
            public   
    $Mysql_Pas;
            public   
    $Mysql_Erro;
                    
            
    //O metodo Set ira atribuir o valor para um atributo.
            
    public function Set($nome,$valor){
                
    $this->$nome $valor;
            }
            
            public function 
    Connect(){
                
    //conexão simples com mysql_connect().
                
    @$con mysql_connect($this->Mysql_Host,$this->Mysql_User,$this->Mysql_Pass);    
                
    //verificamos se ouve algum erro.
                
    if(!$con){
                    
    //caso sim : 
                    //atribuimos ao atributo Mysql_Erro o erro retornado pelo mysql_error().
                    
    $this->Mysql_Erro mysql_error();
                    
    //e chamamos o metodo error para tratar o erro.
                    
    Mysql::error();
                }
            }
            
            
    //Metodo error ira fazer o tratamento do erro gerado pelo mysql e 
            //criar um arquivo com o log do erro.
            
    public function error(){
                
    //novamente verificamos se ouve algum erro no mysql.
                
    if(!$con){
                    
    //caso sim :
                    //abrimos o arquivo de log.
                    
    $Log_Open fopen('../Logs/Erro.html''a');
                    
                    
    //aqui ocorrera todo o tratamento do log.
                    
    $Log_String  '<hr />';
                    
    $Log_String .= date('h:i:s - d/m/y');
                    
    $Log_String .= ' - ';
                    
    $Log_String .= $this->Mysql_Erro;
                    
                    
    //ao final escrevemos no arquivo de log.
                    
    $Log_Write fwrite($Log_Open$Log_String);    
                    
                    
    //e fechamos o arquivo.
                    
    $Log_Close fclose($Log_Open);
                }
            }
        }
        
    //instanciamos nossa classe Mysql.
        
    $mysql = new Mysql();
        
    //atravez no metodo Set atribuiremos o valor para cada atributo.
        
    $mysql->Set('Mysql_Host''localhost');
        
    $mysql->Set('Mysql_User''user');
        
    $mysql->Set('Mysql_Pass''senha');
        
    //e em fim criamos a conexão.
        
    $mysql->Connect();
        
    ?>
    Não esqueça, participem

    Parabens irmao belo poster, tenho classes para conexao mas nunca tinha pensado no log de erros, você esta de parabens.
    ----------------------------------------------------------------------------------------
    sigpic

    Comment


    • Font Size
      #3
      Eu acho que sim, Todo os programadores PHP experiêntes falam que se deve aprender OOP (Até você hehe) Só que eu tenho uma dificuldade enorme pra aprender OO, Não sei o que acontece na minha cabeça quando vejo esses códigos orientados a objetos, Só de ouvir falar eu ja tremo de medo...
      "Não me sinto obrigado a acreditar que o mesmo Deus que nos dotou de sentidos, razão e intelecto, pretenda que não os utilizemos."
      - Galileu Galilei

      Comment


      • Font Size
        #4
        Nova update :


        Adicionado função To_Mail para enviar emails dos logs de erros outros logs que viram :S
        Adicionado as informações o IP do usuario.
        Inversão de hora - data para data - hora :S
        Adicionado o arquivo e o diretorio do arquivo que retornou o erro :P


        Código PHP:
        <?php
            
        //criamos nossa classe Mysql.
            
        class Mysql{
                
        //criamos os atributos basicos para essa classe.
                
        public   $Mysql_Host;
                public   
        $Mysql_User;
                public   
        $Mysql_Pas;
                public   
        $Mysql_Erro;
                        
                
        //O metodo Set ira atribuir o valor para um atributo.
                
        public function Set($nome,$valor){
                    
        $this->$nome $valor;
                }
                
                public function 
        Connect(){
                    
        //conexão simples com mysql_connect().
                    
        @$con mysql_connect($this->Mysql_Host,$this->Mysql_User,$this->Mysql_Pass);    
                    
        //verificamos se ouve algum erro.
                    
        if(!$con){
                        
        //caso sim : 
                        //atribuimos ao atributo Mysql_Erro o erro retornado pelo mysql_error().
                        
        $this->Mysql_Erro mysql_error();
                        
        //e chamamos o metodo error para tratar o erro.
                        
        Mysql::error();
                    }
                }
                
                
        //Metodo error ira fazer o tratamento do erro gerado pelo mysql e 
                //criar um arquivo com o log do erro.
                
        public function error(){
                    
        //verifica se o erro foi retornado pela conexão com o mysql.
                    //isso sera importante quando a função erro sera responssavel por passar outros erros.
                    //tipo erros de seleção de db e etc...
                    
        if(!$con){
                        
        //caso sim :
                        //abrimos o arquivo de log.
                        
        $Log_Open fopen('Logs/Erro.html''a');
                        
                        
        //aqui ocorrera todo o tratamento do log.
                        
        $Log_String  '<hr />';
                        
        $Log_String .= $_SERVER['REMOTE_ADDR'];
                        
        $Log_String .= ' - ';
                        
        $Log_String .= $_SERVER['PATH'].$_SERVER['SCRIPT_FILENAME'];
                        
        $Log_String .= ' - ';
                        
        $Log_String .= date('d/m/y - h:i:s');
                        
        $Log_String .= ' - ';
                        
        $Log_String .= $this->Mysql_Erro;
                        
                        
        //ao final escrevemos no arquivo de log.
                        
        $Log_Write fwrite($Log_Open$Log_String);    
                        
                        
        //e fechamos o arquivo.
                        
        $Log_Close fclose($Log_Open);
                        
                        
        //To_Mail, sera enviado um alerta com o erro.
                        
        Mysql::To_Mail($Log_String'Erro Mysql : '.date('h:i:s - d/m/y'),'seu email');

                        echo 
        '<center><b>Ocorreu um erro Fatal na conexão ao banco de dados.<br />Já foi feito um alerta para o Administrador, aguardem ate que o problema seja resolvido.</b></center>';
                    }
                }
                
                
        //metodo responssavel por enviar por email alguma coisa :D
                //desde erros ate de novos registros no banco ( função sera adotada mais a frente :S )
                
        public function To_Mail($Mail_String$Mail_Subject$Mail_To){
                    
        $Mail mail($Mail_To$Mail_Subject$Mail_String'Content-type: text/html; charset=iso-8859-1rn');            
                }
            }
            
        //instanciamos nossa classe Mysql.
            
        $mysql = new Mysql();
            
        //atravez no metodo Set atribuiremos o valor para cada atributo.
            
        $mysql->Set('Mysql_Host''host');
            
        $mysql->Set('Mysql_User''usuário');
            
        $mysql->Set('Mysql_Pass''senha');
            
        //e em fim criamos a conexão.
            
        $mysql->Connect();
            
        ?>
        Pelo visto ninguém se interessou em aprimorar o codigo, o Chamycal ta fora pq ele não sabe nem oque é POO,kkkk Estudar é bom né
        Hospedagem profissional + 50gb de espaço + trafego ilimitado + email com seu dominio (contato@seudominio.com) Por : 11,90 ? Só falar comigo.

        Comment


        • Font Size
          #5
          Amigo, tem como montar um tutorial basico e direto ensinando OO, tipo fazer um micro sisteminha, só para ir exemplificando a técnica de OO.

          Vlw.

          Comment


          • Font Size
            #6
            Bacana.
            Mas isso não tá orientado a objetos, apenas utiliza os recursos da orientação a objeto.

            []'s
            Desenvolvedor Perl, PHP, .NET (C#, VB.NET, ASP.NET), Java (J2EE), Shell Script, JavaScript/Ajax, C, amante de Linux e noob.

            twitter | last.fm

            Comment


            • Font Size
              #7
              Postado Originalmente por fvox Ver Post
              Bacana.
              Mas isso não tá orientado a objetos, apenas utiliza os recursos da orientação a objeto.

              []'s
              Como sempre me abusando *-*
              Manow já que você sabe orientação a objeto e talz faz um tutorial ou pelo menos manda um soucer boa e comenta ela, de sua autoria
              Hospedagem profissional + 50gb de espaço + trafego ilimitado + email com seu dominio (contato@seudominio.com) Por : 11,90 ? Só falar comigo.

              Comment


              • Font Size
                #8
                Postado Originalmente por NICKInhoO' Ver Post
                Como sempre me abusando *-*
                Manow já que você sabe orientação a objeto e talz faz um tutorial ou pelo menos manda um soucer boa e comenta ela, de sua autoria
                Hahahah não to abusando não.
                Não sei se já disse isso, mas você me faz lembrar de mim mesmo há um tempo atrás. Comete os mesmos erros.

                Não tenho mais tempo pra tutoriais, e os scripts que faço são de uso comercial da empresa que trabalho. Então nem ao menos posso postá-los aqui. ;-(

                Mas se quiser que eu pare de comentar nos teus tópicos, é só pedir. Sem brigas... :-)
                Desenvolvedor Perl, PHP, .NET (C#, VB.NET, ASP.NET), Java (J2EE), Shell Script, JavaScript/Ajax, C, amante de Linux e noob.

                twitter | last.fm

                Comment


                • Font Size
                  #9
                  Cara, não é fácil mesmo sair de um paradigma e passar a outro.
                  A transição não é automática, a sua vida toda você 'estrutura' e vive 'estruturado' sair de algo comum assim ... até você começar a pensar totalmente orientado a objetos vai acontecer isso mesmo de misturar paradigmas, a grande sacada é não deixar esse embolo acontecer se tornar frequente.
                  Enfim, bons estudos.

                  Comment


                  • Font Size
                    #10
                    Não to falando nada de briga não fvox, só do dizendo que você sempre fala que ta errado, nem pra dar uma moralzinha ou ajudar o cara no que esta errado :S
                    Hospedagem profissional + 50gb de espaço + trafego ilimitado + email com seu dominio (contato@seudominio.com) Por : 11,90 ? Só falar comigo.

                    Comment


                    • Font Size
                      #11
                      Postado Originalmente por NICKInhoO' Ver Post
                      Não to falando nada de briga não fvox, só do dizendo que você sempre fala que ta errado, nem pra dar uma moralzinha ou ajudar o cara no que esta errado :S
                      Mas eu sempre faço posts gigantes sobre o assunto, como nos seus outros tópicos. :-(
                      Chorei hahahh.

                      []'s
                      Desenvolvedor Perl, PHP, .NET (C#, VB.NET, ASP.NET), Java (J2EE), Shell Script, JavaScript/Ajax, C, amante de Linux e noob.

                      twitter | last.fm

                      Comment

                      X
                      Working...
                      X