Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como o título do tópico já diz, gostaria de saber qual a vantagem...
Particularmente vi um pouco mais de complicações ao criar uma Classe CRUD PDO, que apenas criar funções com o mesmo resultado.
Veja esta minha classe:
<?php
/*
* Classe para operações CRUD na tabela sgt_global
*/
class globalCrud
{
/*
* Atributo para conexão ao banco de dados
*/
private $pdo = null;
/*
*Atibuto estático para instanciar a própria classe
*/
private static $globalCrud = null;
/*
* Construtor da Classe como private
* @param $conn - Conexão com o banco de dados
*/
private function _construct($conn)
{
$this->pdo = $conn;
}
/*
* Método estático para retornar um objeto globalCrud
* Verifica se já existe uma instância desse objeto, caso não, instância um novo
* @param $conn - Conexão com o banco de dados
* @return $globalCrud - Instância do Objeto globalCrud
*/
public static function getInstance($conn)
{
if(!isset(self::$globalCrud)):
self::$globalCrud = new globalCrud($conn);
endif;
return self::$globalCrud;
}
/*
* Método para inclusão de novos registros
* @param $user - Nome de usuário
* @param $mail - E-mail do usuário
* @param $pass - Senha do usuário
* @param $userlevel - Nível de credibilidade do usuário
* @param $empresaid - Empresa do usuário
* @param $userstatus - Estatus de logon do usuário
* @param $empresastatus - Status de logon da empresa
*/
public function newUser($user, $mail, $pass, $userlevel, $empresaid, $userstatus, $empresastatus)
{
if(!empty($user) and !empty($mail) and !empty($pass) and !empty($userlevel) and !empty($empresaid) and !empty($userstatus) and !empty($empresastatus))
{
try
{
$sql = 'INSERT INTO glob.users (`User`,`Mail`,`Pass`,`UserLevel`,`EmpresaID`,`UserStatus`,`EmpresaStatus`)VALUES(:user,:mail,:pass,:userlevel,:empresaid,:userstatus,:empresastatus)';
$stm = $this->pdo->prepare($sql);
$param = array(
':user' => $user,
':mail' => $mail,
':pass' => $pass,
':userlevel' => $userlevel,
':empresaid' => $empresaid,
':userstatus' => $userstatus,
':empresastatus' => $empresastatus
);
$stmt->execute($param);
return 'Dados inseridos com sucesso!';
}
catch(PDOException $e)
{
return 'Erro na linha: '.$e->getLine();
}
}
}
}
?>
Quando poderia ser resumido em apenas uma função:
function newUser($user, $mail, $pass, $userlevel, $empresaid, $userstatus, $empresastatus)
{
if(!empty($user) and !empty($mail) and !empty($pass) and !empty($userlevel) and !empty($empresaid) and !empty($userstatus) and !empty($empresastatus))
{
try
{
$sql = 'INSERT INTO glob.users (`User`,`Mail`,`Pass`,`UserLevel`,`EmpresaID`,`UserStatus`,`EmpresaStatus`)VALUES(:user,:mail,:pass,:userlevel,:empresaid,:userstatus,:empresastatus)';
$stm = $this->$pdo->prepare($sql);
$param = array(
':user' => $user,
':mail' => $mail,
':pass' => $pass,
':userlevel' => $userlevel,
':empresaid' => $empresaid,
':userstatus' => $userstatus,
':empresastatus' => $empresastatus
);
$stmt->execute($param);
return 'Dados inseridos com sucesso!';
}
catch(PDOException $e)
{
return 'Erro na linha: '.$e->getLine();
}
}
}Carregando comentários...