O PHPEASY é uma estrutura PHP centrada na API. Código o mais próximo do idioma PHP em si, em vez de uma estrutura.
I. Introdução
Ii. Pré-requisitos
Iii. Instalação
Isto é para alguém que adora baunilha PHP e sua simplicidade. Atualmente, você deve seguir os padrões de codificação (OOP, sólido, seco, etc.) e estruturas de MVC para fazer o desenvolvimento da Web usando o PHP. Estruturas PHP por aí vêm com muitos arquivos, configurações, classes e dependências. Fiz essa mini -estrutura para que os desenvolvedores de PHP possam fazer o desenvolvimento da Web mais rapidamente enquanto dominam e desfrutando da própria linguagem PHP (sim! Não precisa aprender tantas bibliotecas).
Compositor - Abra um terminal dentro da pasta raiz ou htdocs e execute o comando abaixo.
composer create-project vgalvoso/phpeasy my_phpeasy
Você pode mudar [my_phpeasy] para qualquer nome do projeto que desejar.
Agora abra seu navegador e vá para http: // localhost/my_phpeasy
Crie vistas dentro da pasta de exibição.
As rotas de exibição serão criadas automaticamente com base na estrutura da pasta View.
Veja os exemplos abaixo.
Você pode omitir o nome do arquivo se o arquivo de exibição for nomeado [index.php]:
(SPA) Os aplicativos de página única são compostos dos componentes de exibição.
Os componentes da visualização são acessíveis apenas por meio de solicitações do AJAX.
Basta chamar Core/Helper/Component (); no topo da visão do arquivo para especificá -lo como um componente de visualização.
Exemplo: View/Admin/Users_table.php
< ?= Core/Helper/component(); ? >
< table >
< thead >
< tr >
< th > Username </ th >
< th > First Name </ th >
< th > Last Name </ th >
</ tr >
</ thead >
< tbody id =" users_tbl " >
< tr > < td > No Contents </ td > </ tr >
</ tbody >
</ table > O PHPeasy suporta API REST.
Todas as APIs são colocadas dentro da pasta API.
As rotas da API serão criadas automaticamente através da estrutura do arquivo da pasta API e funções implementadas dentro do arquivo php nomeado com os verbos HTTP, por exemplo (get (), post (), patch ()).
Por exemplo, você omitiu a função Delete (), você não pode chamar API/Users/{id}.
Aqui está um exemplo de uma API de REST Usuários.
Caminho do arquivo API: [API/Users.php]
Rotas:
<?php
use Core DAL ;
use function Core Helper error ;
use function Core Helper getRequestBody ;
use function Core Helper response ;
use function Core Helper startAPI ;
startAPI ();
function get (){
$ db = new DAL ();
//GET user by id
if ( defined ( ' URI_PARAM ' )){
$ query = " SELECT * FROM users WHERE id = :id " ;
$ param = [ " id " => URI_PARAM ];
if (! $ user = $ db -> getItem ( $ query , $ param ))
response ([]);
response ([ $ user ]);
}
//GET All users
$ query = " SELECT * FROM users " ;
$ users = $ db -> getItems ( $ query );
response ( $ users );
}
function post (){
$ db = new DAL ();
$ rq = ( object ) getRequestBody ();
$ values = [
" username " => $ rq -> username ,
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ,
" usertype " => $ rq -> usertype ,
" password " => password_hash ( $ rq -> password , PASSWORD_BCRYPT )
];
if (! $ db -> insert ( " users " , $ values ))
error ( $ db -> getError ());
response ( " New User added! " );
}
function delete (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
if (! $ db -> delete ( " users " , " id=:id " ,[ " id " => $ id ]))
error ( $ db -> getError ());
response ( " User Deleted Successfuly! " );
}
function patch (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
$ rq = ( object ) getRequestBody ();
$ values = [
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ];
$ params = [ " id " => $ id ];
$ db = new DAL ();
if (! $ db -> update ( " users " , " id=:id " , $ values , $ params ))
error ( $ db -> getError ());
response ( " User Updated Successfuly " );
}
//EOF APIs em phpeasy incentivam um estilo de codificação processual,
Então, aqui estão a lista de funções que você pode usar nas implementações da API:
Inicialize um arquivo PHP como uma API REST.
Depois de chamar esta função, você pode implementar os verbos HTTP como função.
Exemplo:
<?php
use function Core Helper startAPI ;
startAPI ();
function get (){
//Handle GET request to api/users
}A resposta de erro será recebida se você tentar solicitar o uso de métodos HTTP que não sejam obtidos.
Obtenha o corpo de solicitação e converta -o na matriz Assoc.
Exemplo:
<?php
use Core Helper getRequestBody ;
$ rq = getRequestBody ();
$ username = $ rq [ " username " ];
$ password = $ rq [ " password " ];
//you can convert it to object for easy access
//$rq = (object)$rq;
//$username = $rq->username;
//$password = $rq->password; Validar uma matriz de pares de valor-chave com base nas regras de validação.
$inputs - matriz associativa a ser validada.$validations - Matriz associativa contendo chaves que correspondiam às teclas em $ dados e valores são as regras de validação.Exemplo:
<?php
use function Core Helper getRequestBody ;
use function Core Validator validate ;
$ rq = getRequestBody ();
$ dataRules = [ " uname " => " required|string " ,
" upass " => " required|string " ,
" firstName " => " required|string " ,
" lastName " => " required|string " ];
validate ( $ rq , $ dataRules );Resposta de saída com 400 código de status e mensagem de erro
$message - string | Mensagem de erro de matriz Defina o tipo de conteúdo e o código de status, em seguida, saia conteúdo e saída de script
$content | Array - o conteúdo da saída$statusCode int - o código de status da resposta (padrão 200)$contentType String - o tipo de conteúdo (Aplicativo padrão/JSON). Tipo de conteúdo disponível: [Application/JSON | simples/texto | texto/html] Inclua visualização especificada
$route - Visualize o caminho do arquivoUsado principalmente para chamar componente de spa
Redirecionar para a visualização especificada.
Se o caminho não for especificado, redirecionar com base na sessão.
$view string - caminho para visualizar Sintaxe mais curta para htmlspecialchars ()
$string - string para higienizarGerar um código alfanumérico randomizado
$length - comprimento do código a ser gerado (padrão 6) Extrair chaves e valores do objeto e armazenar para a matriz de sessão
$object - o objeto para extrair exemplo: <?php
use Core DAL ;
$ db = new DAL ();
if (! $ user = $ db -> getItem ( 1 ))
invalid ( " User does not exist! " );
objToSession ( $ userInfo );Gerar novo nome de arquivo e fazer upload do arquivo
string $uploadFile $ _FILE CHAVEstring $uploadPath para o arquivo de upload deve adicionar "/" ao fimObtenha/defina uma variável de sessão
$sessionVar - chave de sessão$value - define um valor de sessão se nulo Converta uma matriz de objetos em matriz indexada contendo valores do item especificado.
$objArr - Array se ibjects para converter$item - item de objeto para extrair Phpeasy apresenta a classe dal () para operações de banco de dados. Suporta MySQL, MSSQL e SQLite.
Defina configurações de banco de dados em config/database.php
Abaixo estão as funções dal ()
$ db = new DAL ();Executa uma declaração de inserção;
$table - o nome da tabela a ser inserido$values - matriz associativa contendo chaves que correspondem aos campos da tabela e aos valores a serem inseridos.Exemplo:
$ values = [ " username " => $ uname ,
" password " => $ upass ,
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ db -> insert ( " users " , $ values );Executa a declaração de atualização
string $table a tabela para atualizarstring $condition Condições Por exemplo. id =: idarray $values matriz associativa contendo valores para atualizar por exemplo. ["age" => 27]array $params valores para condições, por exemplo. ["id" => 1]Exemplo:
$ values = [
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ params = [ " id " => 1 ];
$ db = new DAL ();
$ db -> update ( " users " , " id=:id " , $ values , $ params );Executa a declaração de exclusão
string $table a tabela para excluirstring $condition usando o extrato preparado, por exemplo. id =: id e nome =: nomearray $params valores para condições, por exemplo. ["id" => 1, "nome" => "Juan Dela Cruz"]Exemplo:
$ delete ( " users " , " id=:id " ,[ " id " => 1 ]);Selecione vários itens
string $queryarray $inputs para declaração preparada padrão (null)Exemplo:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE lastname = :surname " ;
$ params = [ " surname " => $ lastName ];
$ users = $ db -> getItems ( $ sql , $ params );Selecione uma consulta de linha única
string $queryarray $inputs para declaração preparada padrão (null)Exemplo:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE id=:userId " ;
$ params = [ " userId " => 1 ];
$ users = $ db -> getItem ( $ sql , $ params );Inicie uma transação de banco de dados.
Confirmar transação de banco de dados.
Transação de banco de dados de reversão.
Retorna erros de banco de dados
Obtenha o LastID inserido no banco de dados
string $field Especifique um campo lastid, NULL padrão Obtenha o Friver do banco de dados que atualmente é usado.
- api/getAllUser.php
```php
<?php
$db = new DAL();
$users = new Users($db);
$usersList = $users->getAll();
Você pode usar modelos ou não, dependendo dos requisitos do projeto.
A classe DAL é acessível diretamente nos arquivos da API, você pode executar uma consulta diretamente na implementação da API sem criar um modelo.
O PHPEASY é progressivo, você pode adicionar modelos, serviços, se quiser, basta atualizar o arquivo Composer.json se você adicionou outro diretório.
Ver