/SimpleCrudPhp

Um sistema de CRUD simples, genérico e flexível em PHP

Primary LanguagePHPMIT LicenseMIT

SimpleCrudPhp

Um sistema de CRUD simples, genérico e flexível em PHP

Autores: Evelyn Francisco Brandão e Rodrigo Yuri Veloso

Breve Descrição:

Este pequeno sistema foi desenvolvido para ser usado em aplicações pequenas em PHP, sendo simples de entender e modificar.

Técnologias Utilizadas:

  • PHP

Por onde começar:

  • Clone este repositório;
  • Mova os arquivos para um lugar que julgue apropriado dentro do seu projeto;
  • Mude os valores de Config.php para os valores de conexão com seu Banco de Dados;
  • Se achar necessário, mude o namespace do arquivo Crud.php para melhor se adquar ao seu projeto;
  • Não esqueça de usar o use namespace\escolhido e extends Crud nas classe que pretende fazer alguma utilização do banco:
  use Source\Crud\Crud;

  class Example extends Crud
  {}
  
  • Para se ter um exemplo mais prático, dê uma olhado no arquivo Example.php.

Exemplos de como se utilizar o SimpleCrudPhp

Não se esqueça, para se utilizar o SimpleCrudPhp, você precisa que a class php em questão extenda Crud.

Você consegue acessar as funções de Crud.php usando o $this-> ou o parent::

Insert

Para realizar um insert com o SimpleCrudPhp, você deve chamar a função insert passando os parametros na ordem:

  • nome da tabela
  • array com os valores que serão inseridos
  • colunas em que os valores do array serão inseridos

Por fim, devesse chamar a função execute(). Quando está função é chamada sem passar parametros, ela retorna um booleano verdaderio caso o insert tenha sido executado ou false em caso de falha

Exemplo:

  use Source\Crud\Crud;

class Example extends Crud
{
    public function insertExample(array $data = null)
    {
        $query = $this->insert("example", $data, "qt_example, nm_example")->execute();

        if ($query) {
            return "example cadastrado";
        } else {
            return $this->getError();
        }
    }
}
Select

Para realizar um select com o SimpleCrudPhp, você deve chamar a função select passando as colunas que deseja trazer, caso não informe as colunas o valor padrão será o mesmo que select * . Depois de chamar função select() devesse chamar a função from em seguida.

Exemplo sem WHERE:

O execute("fetchAll") retorna um array (uma lista) de objetos.

    
    $query = $this->select("qt_example as qt, nm_example as nome")
            ->from("example")
            ->execute("fetchAll");

return $query;

Exemplo com WHERE:

O execute("fetch") retorna um objeto.

    
    $query = $this->select("qt_example as qt, nm_example as nome")
            ->from("example")
            ->where("cd_example = ?", [$id])
            ->execute("fetch");
return $query;

O where recebe uma string com as colunas separadas por vírgula, mais o ? que será substituido pelo valor do array (segundo parametro).

Exemplo de where com mais de um parametro:
    $nome = "Fulano de Tal";
    $idade = 24;
$query = $this->select("ds_perfil, nm_cidade")
        ->from("example")
        ->where("nm_example = ? AND idade = ?", [$nome, $idade])
        ->execute("fetch");
        
// seria o mesmo que 

$query = "select ds_perfil, nm_cidade from example 
          where nm_example = "Fulano de Tal" AND idade = 24";

Exemplo com mais clausulas no select:

$nome = "tal"

$query = $this->select("qt_example as qt, nm_example as nome") ->from("example") ->where(""nm_example LIKE (?)", ["%{$nome}%"]) ->order("dt_example", "DESC") ->limit(0, 10) ->execute("fetch");

Update

Para realizar um update com o SimpleCrudPhp, você deve chamar a função update passando os parametros na ordem:

  • Nome da tabela
  • Colunas separada por vírgula e o ?
  • Array de valores que substituirão os ?

Exemplo:

    
        $crud = $this->update("example", "nm_example = ?, dt_example = ?", $data)
            ->where("cd_example = ?", [$id])->execute();
    if ($crud) {
        return "Atualizado Com Sucesso";
    } else {
        return $this->getError();
    }
Delete

Para realizar um delete com o SimpleCrudPhp, você deve chamar a função delete seguida de função from()

Exemplo:

    
    $crud = $this->delete()->from("example")->where("cd_example = ?", [$id])->execute();
return $crud;