Um sistema de CRUD simples, genérico e flexível em PHP
Este pequeno sistema foi desenvolvido para ser usado em aplicações pequenas em PHP, sendo simples de entender e modificar.
- PHP
- 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.
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
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.
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;
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).
$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";
$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
?
$crud = $this->update("example", "nm_example = ?, dt_example = ?", $data) ->where("cd_example = ?", [$id])->execute();if ($crud) { return "Atualizado Com Sucesso"; } else { return $this->getError(); }