A mágica por trás dos aplicativos ( Api com o Laravel )
-
Upload
michael-douglas -
Category
Technology
-
view
1.159 -
download
4
Transcript of A mágica por trás dos aplicativos ( Api com o Laravel )
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
QUEM SOU EU ?
https://www.github.com/michaeldouglas
https://www.twitter.com/mdba_araujo
https://www.facebook.com/mdba.araujo
QUEM SOU EU ?
Laravel Pagseguro:
https://github.com/michaeldouglas/laravel-pagseguro
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 !
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.
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.
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.
O QUE É UMA API ?
● Para ajudar você a criar uma API RESTful você pode utilizar o Dingo: https://github.com/dingo/api
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 ?
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.
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.
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.
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 ?
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:■ Dingo\Api\Provider\LaravelServiceProvider::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="
Dingo\Api\Provider\LaravelServiceProvider"
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
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.
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.
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
END POINT DINGO
● Para criar seus primeiros END POINT você precisa inserir o seguinte código:○ $api = app('Dingo\Api\Routing\Router');○ E então inserir o padrão de rotas Laravel.
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.