Download the PHP package jonathansilva/nano without Composer

On this page you can find all versions of the php package jonathansilva/nano. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package nano

Nano

Nano framework PHP para desenvolvimento de API's e aplicações Web

Requisitos

Certifique-se de que as extensões abaixo, estejam habilitadas no php.ini

Instalação

composer require jonathansilva/nano

Configuração

Apache

Nginx

.env.example

Duplique o arquivo, renomeie para .env e altere os valores

.gitignore

index.php

Routes

Verbos: GET, POST, PUT, PATCH e DELETE

O Callback/Controller não permite chamada de método

✔️

Crie o método 'handle'

Routes file

Para carregar um arquivo de rotas, utilize o método 'load'

routes.xml

Middleware

Middlewares devem ser informados no terceiro parâmetro da rota ( Routes )

Para configurar um middleware global, utilize o método 'use'

Veja abaixo alguns exemplos de middlewares

Assert Middleware

Middleware global que faz proteção contra CSRF e decodifica o payload do JWT

CSRF

Os formulários deverão ter um campo 'hidden' chamado 'csrf'

O uso do CSRF necessita do session_start(); no index.php

JWT

1 ) Se o token existir mas for inválido:

[ Web ] Redireciona para a página 'login'

[ API ] Retorna 'Invalid or expired token'

Caso for válido, o payload será enviado para o próximo middleware ou controller, podendo ser recuperado usando $req->query() ( veja um exemplo em Role Middleware )

2 ) Se não existir, vai para o próximo middleware ou executa o controller

O terceiro parâmetro em JWT::assert é ignorado em rotas de api

Ensure Middleware

Será chamado em rotas onde a autenticação é obrigatória

Se não encontrar o token:

[ Web ] Redireciona para a página 'login'

[ API ] Retorna 'Authorization token not found in request'

A criação dos middlewares Assert e Ensure, obriga que as rotas de api, tenham o prefixo '/api/' para evitar redirecionamento

O terceiro parâmetro em JWT::ensure é ignorado em rotas de api

Role Middleware

Será chamado em rotas onde o usuário precisa ter níveis de acesso específicos

Coloque após o 'Ensure'

Query params

localhost:8080/books?filter=price

cURL

Verbos: GET, POST, PUT, PATCH e DELETE

Validator

Regras: required, string, integer, float, bool, email, confirmed, min e max

Caso não houver erros na validação, um novo objeto será retornado em $req->data() com os dados sanitizados

O uso do confirmed exige um novo input, onde o 'name' precisa ter o sufixo '_confirmation'

Por padrão, as mensagens de erro estão em português. As opções aceitas são 'pt-BR' e 'en-US'

JSON Exception

Use throwJsonException para exibir erros no formato json

Template engine

O template utilizado foi desenvolvido por David Adams ( https://codeshack.io )

Foram feitas pequenas alterações no código original

base.html

home.html

Crie o diretório 'views'

Exibindo os erros de validação ( Validator )

Para saber mais sobre este template engine, clique aqui

CORS

Coloque no index.php de sua API e faça as modificações necessárias

Login / Register

Exemplo de login e cadastro de usuário

GET /cadastro

POST /cadastro

Ao usar Cookie para salvar o JWT, nomeie-o de 'token'. Isso é necessário pois há funções na classe JWT, que busca, verifica e remove o cookie pelo nome 'token'

Service

GET /login

POST /login

Service

GET /logout

GET /me


All versions of nano with dependencies

PHP Build Version
Package Version
Requires php Version >= 8.4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jonathansilva/nano contains the following files

Loading the files please wait ....