A mágica por trás dos aplicativos ( Api com o Laravel )
1. A MÁGICA POR TRÁS
DOS APLICATIVOS
(API COM O LARAVEL)
2. QUEM SOU EU ?
Criador e mantenedor:
● https://www.facebook.com/groups/silexbrasil
● https://www.facebook.com/groups/laravelsp
● https://www.facebook.com/groups/phingbrasil
● https://www.facebook.com/groups/sonicpibrasil
● https://www.facebook.com/groups/doctrinebrasil
Instrutor:
● 4 Linux
● Webschool.io
3. QUEM SOU EU ?
https://www.github.com/michaeldouglas
https://www.twitter.com/mdba_araujo
https://www.facebook.com/mdba.araujo
4. QUEM SOU EU ?
Livro: Zend Certified Engineer - Descomplicando
a certificação PHP.
5. QUEM SOU EU ?
Laravel Pagseguro:
https://github.com/michaeldouglas/laravel-pagseguro
6. O QUE É UMA API ?
● APIS no mobile será que você precisa saber disso ?
● A utilização de APIs ficou bem famosa em nosso meio de
programação.
○ Login do seu APP a partir do Auth do Facebook.
○ Obter dados do usuário Facebook para o seu aplicativo.
○ Obter os Tweets de um determinado usuário.
○ E entre outros !
7. O QUE É UMA API ?
● REST(Representational State Transfer) ? - Basicamente é
uma técnica de engenharia de software para sistemas de
hipermídia.
● REST pode ajudar a abstrair a nossa interface de usuário
com nossos agentes externos e com isso eliminar, por
exemplo, um formulário de submissão de dados.
8. O QUE É UMA API ?
● E ao invés de necessitarmos de telas, passamos esses
serviços para o conceito de comunicação HTTP
aproveitando tudo que o protocolo já oferece.
9. O QUE É UMA API ?
● Acredito que uma das vantagens que o Laravel possui é a
sua facilidade de implementação da comunicação
heterogênea de aplicações, ou seja, além de você poder
codificar o seu sistema utilizando o padrão MVC em um
Framework bem completo e de fácil utilização você pode
ir além disso pois você terá uma curva menor de
aprendizado e implementação do seu sistema e de suas
APIs.
10. O QUE É UMA API ?
● Para ajudar você a criar uma API RESTful você pode utilizar o Dingo: https:
//github.com/dingo/api
11. INSTALAÇÃO DO LARAVEL
● Existem duas maneiras de instalar o Laravel:
○ Laravel installer: composer global require
"laravel/installer" - Por que desta forma ?
■ Por que é possível utilizar o comando: laravel new
app
● Instalação via composer:
○ composer create-project --prefer-dist laravel/laravel
blog - Por que desta forma ?
12. INSTALAÇÃO DO LARAVEL
● Testando o Laravel, para realizar o teste você inicialmente precisa saber o
que é o artisan:
○ Artisan é o nome da interface para linha de comando incluida que faz
parte do Laravel.
○ Um dos comandos interessantes do Artisan é a execução de um
comando para teste de um servidor embutido do PHP para utilizar você
usará o comando:
■ php artisan serve - Com esse comando você já consegue realizar o
seu primeiro teste do Laravel.
■ Após o comando você verá uma tela de boas vindas do Laravel.
13. ESTRUTURA DO LARAVEL
● Vendor
○ Essa pasta é gerada automaticamente
pelo composer.
● Public
○ A pasta public é o seu DocumentRoot,
ou seja, toda requisição efetuada pelo
usuário cairão nela.
14. INSTALAÇÃO DO LARAVEL
● Config
○ A pasta config é responsável por guardar os arquivos de configuração da
sua aplicação.
● Storage
○ A pasta Storage é responsável por armazenar os arquivos de uso
interno do Laravel tais como: Cache, logs e etc .
● App
○ É a pasta principal do sistema basicamente é responsável por
armazenar grande parte do código que digitarmos.
15. CONFIGURANDO MEU ENVIRONMENT
● Primeiramente o que é Environment ?
● Laravel utiliza o phpdotenv do vlucas.
● Como verifico qual configuração de ambiente minhas
variáveis de ambiente estão ?
○ Utilize o comando: php artisan env - Caso esteja
realizando o comando pela primeira vez é bem
provável que retorne local o que é normal.
● Então existe a pasta Config e o .env qual a diferença ?
17. INSTALANDO O DINGO
● Lembra do Dingo ? - Para instalar basta que você execute um comando !
○ Lembrando que é na raiz do seu projeto Laravel que você executa o
comando:
■ composer require dingo/api:1.0.x@devb
○ Agora iremos registrar o Provider do Dingo em config/app.php dessa
maneira lembrando que você não deve apagar os já existentes:
■ DingoApiProviderLaravelServiceProvider::class,
○ Em seguida você deve executar o comando para criar os configuradores
do componente do Dingo em sua estrutura Laravel, da seguinte maneira:
■ php artisan vendor:publish --provider="
DingoApiProviderLaravelServiceProvider"
18. CONFIGURANDO O DINGO
● Lembra do .env ? - Iremos inserir algumas configurações necessárias para a
nossa API e para o Dingo. Existem três tipo de chave que podem ser usadas
na configuração de árvore API_STANDARDS_TREE:
○ Árvore do tipo ( x ) são destinadas a APIS para ambientes locais ou privados.
○ Árvore do tipo ( PRS ) são destinados a projetos que não serão distribuídos
comercialmente.
○ Árvore do tipo ( vnd ) são destinados a projetos públicos como é o nosso caso.
○ Em nosso caso utilizaremos a configuração vnd. Para configurar você deverá
inserir em seu arquivo .env a seguinte instrução:
■ API_STANDARDS_TREE=vnd
19. CONFIGURANDO O DINGO
● Ainda no arquivo .env devemos configurar o domínio da API
em nosso caso será utilizado o domínio: api.palestra.laravel.
○ Para configurar você deve inserir a seguinte chave e
valor no seu .ENV:
■ API_DOMAIN=api.palestra.laravel
● Feita essa configuração você precisa informar esse HOST.
● Utilizaremos o domínio: api.palestral.laravel.
20. CONFIGURANDO O DINGO
● Para testar nossa aplicação Laravel nós iremos executar o comando:
○ php artisan serve --host="api.palestra.laravel" --port=8000
○ Ou seja, nós configuramos o host da nossa API para: api.palestra.laravel
e apenas nesse HOST que nossa API deve responder.
○ Mas antes precisamos sabe onde fica o arquivo de rotas padrão do
Laravel.
○ As rotas padrão do Laravel estão no caminho:
■ app/Http/routes.php
○ Porém para nossa API Laravel iremos configurar nossos End Points de
uma maneira diferente do padrão Laravel.
21. PADRÃO DE ROTAS LARAVEL
● Onde ficas as rotas ?
○ O caminho das rotas em Laravel ficam em: app/Http/routes.php
○ Tipos de rotas que você pode utilizar: GET, POST, PUT e DELETE
22. END POINT DINGO
● Para criar seus primeiros END POINT você precisa inserir
o seguinte código:
○ $api = app('DingoApiRoutingRouter');
○ E então inserir o padrão de rotas Laravel.
23. CHEGA DE SLIDES
● Iremos realizar a chamada de uma API de cadastro de
pessoas. Utilizaremos o Postman e Ionic para simulação
do APP de cadastro de pessoas e testes da API.
24. OBRIGADO
● Gostaria de agradecer a todos vocês.
● Em especial a equipe da Mobile Brazil Conference.