Skip to content

O objetivo deste projeto é criar uma API utilizando PHP puro, um mini framework foi criado onde é possivel definir um controller, método e models e trabalhar com dados de uma forma um pouco dinâmica.

Notifications You must be signed in to change notification settings

iarleyibiapina/Api_PHP_Puro

Repository files navigation

Projeto feito com base neste video

Note

O projeto pode ser configurado para ter uma url dinamica e mais proxima de um abiente de produção, ao invés do padrão Localhost. Porem decidi não implementar estas configurações e utilizar apenas a url 'amigavel' com htacces e com o fato de que a url exibida será a pasta do seu projeto.

Para executar este projeto Utilizei como ferramentas o XAMPP, Um Gerenciador de banco de dados, Visual Studio e Postman.

Utilizando VirtualHost por exemplo ficaria assim:

  • api.sistema.com.br

  • api.sistema.com.br/noticias

Configurando a url

Para iniciar projeto foi configurado um host novo. Para localizar e adicionar é preciso usar este comando:

'windows + r'

pesquisar por:

C:\Windows\System32\drivers\etc

Abrir o arquivo 'hosts' no visual studio ou algum editor de texto. No final do arquivo definir:

'127.0.0.1 api.sistema.com.br'

Depois é preciso configurar um virtual host no xampp em:

(O caminho varia dependendo de onde o xampp estiver instalado)

'C:\xampp\apache\conf\extra'

Abrir o arquivo

'httpd-vhosts.conf'

Definindo um novo virtual host:

<VirtualHost '\'\*:80>
ServerAdmin webmaster@api.sistema.com.br
DocumentRoot "C:\xampp\htdocs\PHP\Api_PHP_3"
ServerName api.sistema.com.br
ErrorLog "logs/api.sistema.com.br-error.log"
CustomLog "logs/api.sistema.com.br-access.log" common
</VirtualHost>

Agora ao entrar e digitar o caminho do projeto em htdocs, por conta do .htaccess na raiz do projeto, será redirecionado para o index dentro da pasta public.

Configurando o projeto (sem o uso do virtual host)

  • Banco de dados

Há um arquivo .sql na raiz do projeto, nele contem o sql para criar a tabela do projeto ou:

Crie um banco de dados MySQL ou utilize um existente.

CREATE DATABASE teste;
USE teste;
CREATE TABLE tab_noticias (
id_noticia_tbn INT PRIMARY KEY NOT NULL,
nome_noticia_tbn VARCHAR(255),
conteudo_noticia_tbn VARCHAR(255)
);
  • Configure a .env do projeto

Faça uma cópia do arquivo .env.example para .env e configure a conxeção com o banco:

DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASS=
DB_DB  =[nome do seu banco]

O arquivo possui uma env BASE_URL, precisa ser configurado com base no caminho do seu projeto;

BASE_URL="localhost/.../public/"

Para finalizar configurar o caminho do arquivo .env em

/public/index.php,

para que as variaveis definidas sejam carregadas no projeto. Meu Exemplo:

Dotenv::createUnsafeImmutable("c:\\xampp\htdocs\PHP\Api_PHP_3");

Testando a API

Para testar utilize algum client, recomendo o POSTMAN

Raiz do projeto é '{caminho_seu_projeto_htdocs}/public/';


GET - Pegando todas as noticias

/noticias

GET - Pegando uma noticia pelo ID

/noticias/1

Chaves para os inputs em POST e PUT

  • nome_noticia_tbn
  • conteudo_noticia_tbn

POST - Fazendo envio de dados de uma noticia

/noticias/1

PUT - Atualizando dados de uma noticia

/noticias/1

DELETE - Deletando uma noticia

/noticias/1

About

O objetivo deste projeto é criar uma API utilizando PHP puro, um mini framework foi criado onde é possivel definir um controller, método e models e trabalhar com dados de uma forma um pouco dinâmica.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages