Uso de funções para manipulação da DB
faço parte de um grupo de PhP no Facebook e lá vejo diversas pessoas fazendo códigos extensos para buscar ou inserir alguma informação na base de dados, muitas dessas pessoas aparentemente estão na profissão a muito mais tempo que eu que sou um completo novato na área e na intenção de, acredito eu, ajudar essas pessoas subi minhas funções para manipulação da base de dados no GitHub e enviei para algumas dessas pessoas que estavam tendo problemas justamente no SQL, caso queiram dar uma olhada segue o link para o repositório, lembrando que sugestões, criticas e comentários são sempre bem vindos. Com tudo isso fiquei com a seguinte dúvida, meu método é realmente o correto? existe uma maneira mais simples doque a que uso agora?
Eu nunca mexi com PHP haha Vamos esperar os especialistas!
De qualquer forma eu vi seu repositório! Uma coisa que percebi quanto ao uso do github é que para códigos curtos com mais intenção de explicação, o pessoal geralmente posta gists ao invés de criar repositórios. Saca só: https://gist.github.com/discover É legal que pode ser utilizado de uma forma mais direta como referencias e tem uns plugins legais pra isso também no vscode.
Enzo, estou afastado do PHP faz muito tempo, mas o "certo ou errado" vai depender do contexto. Pouco código não quer dizer algo bom, e muito código não quer dizer algo ruim, pois novamente, depende do contexto.
Eu li seu código e apesar de fazer o que diz fazer, sinto que falta modelagem, ele está expondo os detalhes de implementação, sem abstração alguma. Mas novamente, qual o contexto? Se for uma prova de conceito, ótimo, pode ser feito de qualquer forma. Mas se for um software que vai precisar reaproveitar essa lógica em outros lugares, essa implementação lutará contra a evolução desse software.
Outro ponto que não saberia analisar por não estar mais familiarizado com PHP é a possibilidade de SQL Injection. As funções de filtro, como essa abaixo, se responsabiliza por esse tipo de injeção?
$dados = filter_input_array(INPUT_POST,FILTER_DEFAULT);
Pergunto isso, pois esses dados estão sendo diretamente concatenados na query que vai para o banco.
Fiz algumas pesquisas, vou deixar alguns links abaixo, para poder ser mais especifico e garantir que não estou enganado.
Testei diversos filtros e sinceramente acredito que eu estava usando um dos piores, realmente em casos assim é preciso atenção redobrada, mesmo após alguns testes vou dar uma pesquisada a fondo nisso para encontrar a melhor maneira de filtrar essas informações.
a principal materia que encontrei foi do proprio php.net ela fala sobre cada filtro e como ele funciona mas testei alguns na pratica também.
Codigo usado nos teste (Mais simples impossivel)
Retorno dos testes