Laravel

Introdução

Alessandro Feitoza

Ativista e Militante do Software Livre

 

Criador e Mantenedor da PHP com Rapadura

 

Desenvolvedor Web na Bannet

 

Instrutor de Web na iwtraining

Por que Laravel?

Rápido
Fácil
Comunitário

  • Curva de Aprendizado Pequena
  • Composer Nativo
  • Comunidade Grande e Prestativa
  • Muito conteúdo (em inglês)
  • ORM Eloquent
  • Template Blade
  • Constantes Atualizações (nem todos gostam)
  • MVC
  • Ganho de Produtividade com o Artisan

COMPOSER

Gerenciador de Dependências para PHP.

.json com todas as bibliotecas que precisa utilizar em seu projeto.

Ele baixa e coloca no autoloader.

INSTALAR O COMPOSER

curl -sS https://getcomposer.org/installer | php

ELOQUENT

Object Relational Mapper.

 

  • Funções básicas de CRUD;
  • Relacionamentos um-para-um;
  • Relacionamentos um-para-vários;
  • Relacionamentos vários-para-vários;
  • e Relacionamentos polimórficos.

COMO USAR O ELOQUENT

<?php 

Usuario::all(); //Retorna todos os registros

Usuario::find(id); //Retorna 1 registro

Usuario::delete(id); //Apagar um registro

BLADE

Gerenciador de Template

Em vez de utilizar tags PHP diretamente no seu HTML, você vai utilizar outra sintaxe com chaves e arrobas.

COMO USAR O BLADE

<h3><?php echo $artigo->titulo; ?></h3>
<small>
    <a href="artigos/editar/<?php echo $artigo->id; ?>" title="Editar">Editar</a>
    |
    <a href="artigos/remover/<?php echo $artigo->id; ?>" title="Remover">Remover</a>
</small>
<p><?php echo $artigo->conteudo; ?></p>
<h2>{{{ $artigo->titulo }}}</h2>
<small>
    <a href="artigos/editar/{{ $artigo->id }}" title="Editar">Editar</a>
    |
    <a href="artigos/remover/{{ $artigo->id }}" title="Remover">Remover</a>
</small>
<p>{{ $artigo->conteudo }}</p>

MVC

ARTISAN

ferramenta de linha de comando

classes já são criadas estendendo a classe correta.

migrar estruturas de banco de dados

COMO USAR O ARTISAN

 php artisan make:model Teacher
 php artisan make:request TeacherRequest

Estrutura de Arquivos

APP

  • Models, views e controllers
  • Subdiretórios: Commands, Console, Http, Events, entre outros.

CONFIG

  • Arquivos de configuração do seu projeto.
  • Configurações: cache, e-mail, banco de dados, entre outras.

PUBLIC

  • É pra onde seu web server vai apontar;
  • Arquivo index.php, que aponta para sua aplicação.
  • Assets: css, img, js e todos os demais arquivos públicos.

ROUTES

  • Definição de Rotas da Aplicação
  • Rotas Padrão: web, app, channel, console
  • Assets: css, img, js e todos os demais arquivos públicos.

VENDOR

  • Source code do Laravel;
  • Plugins e outras dependências, bibliotecas, frameworks.

APP

Title Text