A visão deste projeto é capacitar os desenvolvedores a executar operações básicas de operações sem esforço, sem a necessidade de escrever código PHP personalizado. Os scripts foram projetados para serem dinâmicos, permitindo que os usuários interajam com a API simplesmente entendendo a documentação fornecida e fazendo solicitações HTTP.
create.php )read.php )update.php )delete.php )file-upload.php )Esta documentação fornece uma visão geral de um conjunto de scripts PHP projetados para operações básicas de CRUD (Criar, ler, atualizar, excluir) e uploads de arquivos. Os scripts devem ser usados como uma API para gerenciar dados em um banco de dados relacional.
Este projeto fornece um conjunto de scripts PHP projetados para servir como uma API simples para realizar operações CRUD (Criar, Leia, Atualizar, Excluir) em um banco de dados relacional. Além disso, inclui um script para lidar com uploads de arquivo. Os scripts destinam -se a oferecer uma solução flexível e extensível para gerenciar as interações de dados com um servidor de back -end.
Antes de usar os scripts, verifique se a conexão do banco de dados está configurada corretamente. Os detalhes da conexão podem ser encontrados no arquivo configuration/connection.php . Modifique o arquivo para definir seu nome de host, nome de usuário, senha e nome de banco de dados.
Exemplo configuration/connection.php :
define ( ' DB_SERVER ' , ' YOUR_HOSTNAME ' );
define ( ' DB_USERNAME ' , ' YOUR_USERNAME ' );
define ( ' DB_PASSWORD ' , ' YOUR_PASSWORD ' );
define ( ' DB_NAME ' , ' YOUR_DATABASE ' );Descrição: Este script lida com a criação de novos registros no banco de dados com base nos dados JSON fornecidos.
table (necessária): o nome da tabela de banco de dados para inserir dados.validation (opcional): regras de validação para os dados.data (exigidos): uma variedade de registros a serem inseridos. A validation é usada para validar os dados com base nas regras fornecidas. As seguintes regras de validação estão disponíveis:
required : O campo não deve estar vazio.string : O campo deve ser uma string válida.name : O campo deve ser um nome válido e sem nenhum número inteiro ou caracteres especiais.email : o campo deve ser um formato de email válido.numeric : o campo deve ser numérico.min-length:X : O campo deve ter pelo menos x caracteres.max-length:X : O campo deve ter na maioria dos caracteres X de comprimento.length:X : O campo deve ter exatamente x caracteres.unique : o valor do campo deve ser único na tabela especificada | Ele verificará o id enquanto atualiza o registro, se for o mesmo, simplesmente ele atualizará a coluna. body em solicitação de API {
"table" : " users " ,
"validation" : [
{
"name" : " required|string " ,
"email" : " required|email|unique " ,
"phone" : " required|numeric|unique|length:10 " ,
"password" : " required|min-length:6 " ,
"age" : " optional|numeric "
}
],
"data" : [
{
"name" : " Imdadullah " ,
"email" : " [email protected] " ,
"phone" : " 9992229990 " ,
"password" : " VerySecurePassword " ,
"age" : 22
}
]
}Descrição: Este script recupera dados do banco de dados com base nos parâmetros especificados.
table (necessária): o nome da tabela de banco de dados para consultar.select (exigido): Uma matriz de colunas para selecionar. O padrão é todas as colunas (*).join (Opcional): Uma matriz de cláusulas de junção para executar junções.conditions (Opcional): Uma matriz de condições com objeto com on , type e value para filtrar dados.rawConditions (Opcional): Uma matriz de condições brutas para filtrar dados, certifique -se de passar as conditions ou rawConditions .order (Opcional): um objeto com on e type para solicitar dados.limit (opcional): limite o número de registros retornados. body em solicitação de API {
"table" : " users " ,
"select" : [ " id " , " name " , " email " , " age " ],
"order" : { "on" : " id " , "type" : " DESC " },
"conditions" : [
{
"on" : " age " ,
"type" : " >= " ,
"value" : " 18 "
},
{
"on" : " status " ,
"type" : " = " ,
"value" : " active "
},
{
"on" : " email " ,
"type" : " LIKE " ,
"value" : " @gmail.com% "
}
],
"limit" : 10
}body com rawConditions em solicitação de API {
"table" : " users " ,
"select" : [ " id " , " name " , " email " , " age " ],
"order" : { "on" : " id " , "type" : " DESC " },
"rawConditions" : [
" WHERE age >= '18' OR type = 'customer' AND status = 'active' "
]
}body com parâmetro JOIN Nota: você deve mencionar cada nome de tabela junto com o nome da coluna para usar JOIN
{
"table" : " users " ,
"select" : [
" users.name " ,
" users.email " ,
" items.title " ,
" items.price " ,
" purchases.amount " ,
" purchases.created_at AS purchased_date "
],
"conditions" : [
{
"on" : " purchases.item_id " ,
"type" : " = " ,
"value" : " 102 "
}
],
"join" : [
{
"table" : " purchases " ,
"on" : [ " purchases.user_id " , " users.id " ],
"type" : " LEFT "
},
{
"table" : " items " ,
"on" : [ " items.id " , " purchases.item_id " ],
"type" : " LEFT "
}
]
}Descrição: Este script atualiza os registros existentes no banco de dados com base nos parâmetros especificados.
table (necessária): o nome da tabela de banco de dados para consultar.data (exigidos): Uma matriz de campos e valores a serem atualizados.conditions (necessárias): Uma variedade de condições para identificar registros a serem atualizados.validation (opcional): regras de validação para os dados. body em solicitação de API {
"table" : " users " ,
"data" : [
{
"name" : " Imdadullah Babu " ,
"age" : 22
}
],
"validation" : [
{
"name" : " required|string " ,
"age" : " optional|numeric "
}
],
"conditions" : [
{
"on" : " id " ,
"type" : " = " ,
"value" : " 1 "
}
]
}Descrição: Este script exclui registros do banco de dados com base nos parâmetros especificados.
table (obrigatória): o nome da tabela de banco de dados para excluir.conditions (necessárias): Uma variedade de condições para identificar registros a serem excluídos. body em solicitação de API {
"table" : " users " ,
"conditions" : [
{
"on" : " id " ,
"type" : " = " ,
"value" : " 1 "
}
]
}Descrição: Este script lida com o upload de arquivos em um destino especificado.
fileDestination (exigido): o diretório onde os arquivos serão armazenados.fileValidation (requerido): Uma lista separada por vírgula das extensões de arquivo permitidas.NOTA: Você pode fazer upload de vários arquivos de uma só vez, e isso não será inserido em sua tabela de banco de dados, você obterá o URL como resposta e poderá salvá -lo no banco de dados.
< script >
const uploadButton = document.getElementById("button");
uploadButton.addEventListener("click", async function () {
const fileInput = document . getElementById ( "file" ) ;
const imageInput = document . getElementById ( "image" ) ;
const file = fileInput . files [ 0 ] ;
const image = imageInput . files [ 0 ] ;
const formData = new FormData ( ) ;
formData . append ( "file" , file ) ;
formData . append ( "image" , image ) ;
formData . append ( "fileDestination" , "files" ) ; // Files will be uploaded to the mentioned destination on the 'uploaded' directory
formData . append ( "fileValidation" , [ "jpg" , "png" , "pdf" ] ) ;
const request = await fetch ( "YOUR_API_REQUEST_ENDPOINT" , {
method : "POST" ,
body : formData ,
} ) ;
const response = await request . json ( ) ;
console . log ( response ) ;
} );
</ script > {
"file": "uploads/files/2024011984368.jpg",
"image": "uploads/files/2024011960039.jpg"
}
Nota: Personalize e estenda os scripts com base nos requisitos do seu projeto. Garanta que as medidas adequadas de validação e segurança sejam implementadas em um ambiente de produção.
Para medidas de segurança adicionais ou lógica personalizada, os desenvolvedores podem estender a funcionalidade adicionando sua própria lógica ao arquivo de configuration/custom-functions.php . Isso fornece um espaço para incorporar validação de token, autenticação personalizada ou quaisquer outras medidas de segurança de acordo com os requisitos do projeto.
Este projeto foi desenvolvido pela IMDadullah Babu, os scripts visam fornecer uma base para os desenvolvedores do PHP integrar operações básicas de banco de dados e fazer uploads de arquivos em seus projetos sem escrever códigos repetíveis.
Este projeto é de código aberto e recebemos contribuições de desenvolvedores em todo o mundo. Se você estiver interessado em adicionar novos recursos, melhorar a documentação, corrigir bugs ou sugerir aprimoramentos, suas contribuições são valiosas.
Juntos, podemos tornar esse projeto ainda mais versátil e benéfico para a comunidade de desenvolvedores. Suas contribuições, grandes ou pequenas, são muito apreciadas.
Obrigado por fazer parte de nossa jornada de código aberto!