https://github.com/pkit-php/framework
The Pkit Framework.
https://github.com/pkit-php/framework
framework jwt php pkit rest-api
Last synced: 3 months ago
JSON representation
The Pkit Framework.
- Host: GitHub
- URL: https://github.com/pkit-php/framework
- Owner: pkit-php
- License: mit
- Created: 2022-04-14T15:43:00.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-26T23:34:39.000Z (almost 2 years ago)
- Last Synced: 2025-01-16T23:21:14.950Z (about 1 year ago)
- Topics: framework, jwt, php, pkit, rest-api
- Language: PHP
- Homepage:
- Size: 427 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pkit




`Esse projeto está parado para fins de estudo`
```Esse projeto está parado para fins de estudo```
Pkit é um framework php para aplicações web que visa facilitar o desenvolvimento de tais projetos.
## Instalação
Instale o Pkit através do [composer](https://getcomposer.org/download/)
`composer require pkit/pkit`
## Como iniciar
- adicione o `.htaccess` para que só considere o `index.php`
```php
RewriteEngine On
RewriteRule . index.php [L,QSA]
```
- inicie o roteador
```php
'[1-9]*',
* 'repo' => '[\w]*'
* 'file' => '.*'
* ]
*/
$params = Router::getParams();
/***/
return new Response(/***/);
}
}
return new FileByRepo;
```
### Rota especial
As rota interceptam erros das rotas, ainda funcionando como um rota comum, contudo qualquer método HTTP é pego pelo método `ALL`. Essa rota deve ser chamada de '*.php' e estar no pasta `routes`.
```php
[
// os valores são passados como parâmetros para o Middleware
Auth::class => "jwt",
],
];
function GET($request)
{
/***/
return new Response(/***/);
}
// os atributos podem ser usado para definir os middlewares
#[Middlewares([Auth::class => "session",])]
function POST($request)
{
/***/
return new Response(/***/);
}
}
return new Home;
```
### middlewares do framework
- `Pkit/Middlewares/Auth` : autentica o usuário com base na sessão
- Os possíveis parâmetros são “jwt”, “session” ou a sequência configuradas por array
- `Pkit/Middlewares/Maintenance` : indica um rota em manutenção
## Session
```php
'1234',
'name' => 'user...'
]);
return new Response("logged");
}
/***/
}
return new Login;
```
### logout
```php
'session'
])]
function GET($request)
{
/***/
Session::logout();
return new Response("logged out");
}
/***/
}
return new Logout;
```
## Jwt
```php
'jwt'
])]
function GET($request)
{
/***/
// pega o token enviado pelo header 'Authorization'
$token = Jwt::getBearer();
return new Response(Jwt::getPayload($token));
}
function POST($request)
{
/***/
$token = Jwt::tokenize(/*payload*/);
// envia o token pelo header 'Authorization'
Jwt::setBearer($token);
return new Response(Jwt::getPayload($token));
}
/***/
}
return new Login;
```
## Variáveis de ambiente especiais
```php
MIDDLEWARES_NAMESPACE=\App\Middlewares # namespace onde se encontra os middlewares que não são do framework
ROUTE_PATH=/var/www/pkit/routes
PUBLIC_PATH=/var/www/pkit/public
VIEW_PATH=/var/www/pkit/view
SESSION_TIME=0 # tempo da sessão do PHP
SESSION_PATH=/var/lib/php/sessions # path da sessão
JWT_KEY=abcde # chave do JWT
JWT_EXPIRES=0 # tempo de expiração do JWT
JWT_ALG=0 # algoritmo de criptografia do JWT
DOMAIN=pkit.com # domínio a ser desconsidera ao procura o subdomínio
SUB_DOMAIN=true # se true o subdomínio declarado será considerado com parte da URI
PKIT_DEBUG=true # se true, caso aja erro, mostra uma pagina com o código de erro e a mensagem do erro
PKIT_CLEAR=false # se false, mantêm o conteúdo renderizado mesmo que tenha sido ocasionado um erro
```
***Para mais informações acesse as documentações nas pastas no framework***