Guest User

Untitled

a guest
Mar 9th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.44 KB | None | 0 0
  1. <?
  2.  
  3. class DAO{
  4.    
  5.     ### atributos / objetos para encapsulamento ###
  6.     private $id;
  7.     protected $ultimoId;
  8.    
  9.     ### atributos / objetos usar no CRUD ###
  10.     protected $tabela;
  11.     protected $campos;
  12.     protected $valores;
  13.     protected $where;
  14.     protected $like;
  15.     protected $asc;
  16.     protected $desc;
  17.     public $start;
  18.     public $limit;
  19.     public $total;
  20.    
  21.     ### atributos / objetos para conexão ###
  22.     private static $conn;
  23.    
  24.     const DB_HOST = 'localhost';
  25.     const DB_NOME = 'painel';
  26.     const DB_PORT = '3306';
  27.     const DB_USER = 'root';
  28.     const DB_PASS = '';
  29.     const TIPO_CON = 'mysql';
  30.    
  31.    
  32.     ### atributos / objetos para manipular a sessão ###
  33.     protected $session = true;
  34.     public $dados;
  35.    
  36.     public static function getDAO(){
  37.         if(self::$conn instanceof PDO){
  38.             return self::$conn;
  39.         }else{
  40.             self::$conn = new PDO(strtolower(self::TIPO_CON).":host=".self::DB_HOST.";port=".self::DB_PORT.";dbname=".
  41.                     self::DB_NOME, self::DB_USER, self::DB_PASS);
  42.             return self::$conn;
  43.         }
  44.     }
  45.    
  46.     public function getResultado($sql='', $stm_arr=array()){
  47.         if(!empty($sql)){
  48.             $conn = DAO::getDAO();
  49.             $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  50.             $stm = $conn->prepare($sql);
  51.             $stm->execute($stm_arr);
  52.             $stm->debugDumpParams();
  53.             $result = $stm->fetchAll(PDO::FETCH_ASSOC);
  54.             $this->total = $stm->rowCount();
  55.            
  56.             #print_r($this->total);
  57.             if(!empty($result)){
  58.                 return $result;
  59.             }
  60.             return array();
  61.            
  62.         }else{
  63.             return array();
  64.         }
  65.     }
  66.    
  67.     public function ExecutaSQL($sql=''){
  68.         if(!empty($sql)){
  69.             $conn = DAO::getDAO();
  70.             $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  71.             $stm = $conn->prepare($sql);
  72.             $stm->debugDumpParams();
  73.             $stm->execute();
  74.            
  75.             $this->ultimoId = (int)DAO::$conn->lastInsertId();
  76.            
  77.             if(!$conn->errorCode()){
  78.                 return true;
  79.             }
  80.             return false;
  81.         }else{
  82.             return false;
  83.         }
  84.     }
  85.    
  86.     protected function select(){
  87.         $padrao = (!empty($this->desc)  ? "ORDER BY {$this->desc} DESC" : "ORDER BY {$this->asc} ASC");
  88.         $where  = (!empty($this->where) ? "WHERE {$this->where}" : "" );
  89.         $limit  = (!empty($this->limit) ? "LIMIT {$this->limit}" : "" );
  90.         $like   = (!empty($this->like)  ? "LIKE '%{$this->like}%'" : "" );
  91.        
  92.         return self::getResultado("SELECT {$this->campos} FROM {$this->tabela} {$like} {$where} {$padrao} {$limit}");
  93.     }
  94.    
  95.     protected function insert(){   
  96.         return self::ExecutaSQL("INSERT INTO {$this->tabela} ({$this->campos}) VALUES ({$this->valores})");
  97.     }
  98.    
  99.     protected function update(){
  100.         return self::ExecutaSQL("UPDATE {$this->tabela} SET {$this->campos} WHERE id = ".self::getId()."");
  101.     }
  102.    
  103.     protected function delete(){
  104.         return self::ExecutaSQL("DELETE FROM {$this->tabela} WHERE id = ".self::getId()."");
  105.     }
  106.    
  107.     /*protected function sessionUser($array){
  108.         if(!empty($this->session)){
  109.             if($this->session != false){
  110.                 session_start();
  111.                 $_SESSION[$array] = $this->dados;
  112.             }else{
  113.                 unset($_SESSION[$array]);
  114.                 session_destroy();     
  115.             }
  116.         }  
  117.     }*/
  118.    
  119.     protected function setUltimoId($ultimoId){
  120.         $this->ultimoId = $ultimoId;
  121.     }
  122.    
  123.     protected function getUltimoId(){
  124.         return $this->ultimoId;
  125.     }
  126.    
  127.     protected function setId($id){
  128.         $this->id = (int)$id;
  129.     }
  130.    
  131.     protected function getId(){
  132.         return intval($this->id);
  133.     }
  134.    
  135.     public function getData($data){
  136.         return implode('/', array_reverse(explode('-',$data)));
  137.     }
  138.    
  139.     public function getMoney($valor){
  140.         return 'R$' . number_format($valor, 2, ',', '.');  
  141.     }
  142.        
  143. }
  144.  
  145. ?>
Add Comment
Please, Sign In to add comment