Começando com Laravel

Imagem para Começando com Laravel

PhpPostado em  4 min de leitura

De acordo com Taylor Otwell (criador), Laravel foi lançado em junho de 2011, simplesmente para resolver a falta de funcionalidades com o framework CodeIgniter. Que na época, era bem conhecido pela sua simplicidade e e documentação abrangente.

Laravel se trata de um Framework PHP, que utiliza o padrão MVC. Vem com muitos recursos e é construído em muitos padrões, ajudando no desenvolvimento de aplicações seguras e performáticas de forma rápida. Possui algumas características que motivam na sua utilização como: facilidade de roteamento, arquitetura modular alimentado por Composer, comunidade ativa e solidária, boa dicumentação, sistema de templates (Blade), Artisan (CLI "Command Language Interpreter" do Laravel) e mais.

Instalação

Pré-requisitos:

  • PHP >= 5.5.9
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • PHP Extension

Composer

O composer é um controlador de dependências e você pode fazer a instalação do mesmo, das seguintes formas:

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

# via PHP
php -r "readfile('https://getcomposer.org/installer');" | php

A instalação do Laravel, é simples com o comando:

composer global require "laravel/installer"

Após a instalação, será necessário adicionar o caminho do mesmo no Path do sistema. Pode fazê-lo, pela interface do sistema operacional ou pelo comando:

export PATH="$PATH:$HOME/.composer/vendor/bin"

Primeiro projeto

Para criar um novo projeto, usamos o comando:

# new [nome do projeto]
laravel new Example

Configuração

Vou me basear na versão atual (5.2). Todos os arquivos de configuração se encontram na pasta config. Os valores de configuração podem ser acessados facilmente com a função global config. Os valores podem ser acessados, usando o nome do arquivo e a opção desejada por intermédio do caractere .. Exemplo:

$value = config('app.timezone');

Para definir um valor em tempo de execução, passamos um array, na função config:

config(['app.timezone' => 'America/Sao_Paulo']);

Ambiente

É sempre bom separar o ambiente de desenvolvimento e o ambiente de produção. O Laravel tora isso fácil, utilizando a biblioteca DotEnv, criada por Vance Lucas.

Durante a instalação do Laravel, via Composer, o arquivo .env.example é copiado para .env:

php -r "copy('.env.example', '.env');"

Nesse novo arquivo, teremos todas as varáveis que serão carregadas no $_ENV. Podemos utilizar a função env, para recuperar os valores dessas variáveis. Exemplo:

// o segundo parâmetro é um valor default
// que é usado quando não existe
// nenhuma variável de ambiente
// para a chave informada
'debug' => env('APP_DEBUG', false)

O ambiente atual da aplicação é determinado através da variável APP_ENV, no arquivo .env. Podemos acessar esse valor com o método environment, da interface estática(facade) da classe App:

$environment = App::environment();

Também podemos passar argumentos para o environment, para verificação.

if (App::environment('local')) {
    // The environment is local
}

if (App::environment('local', 'staging')) {
    // The environment is either local OR staging...
}

Podemos também acessar pelo método auxiliar app:

$environment = app()->environment();

Cache da configuração

Para aumentar a velocidade da sua aplicação, podemos armazenar em cache os arquivos de configuração em apenas um arquivo. Isso é possível, usando o config:cache, do Artisan. Não se deve ser executado no ambiente de desenvolvimento, por ser frequentemente alterado. Então, para a implantação de produção, execute:

php artisan config:cache

Observações

Na instalação via Composer, além da execução do comando para a criação do arquivo .env, também executado outros comandos. Um deles é o comando:

php artisan key:generate

O mesmo cria uma chave no arquivo de ambiente, sendo o valor da varável APP_KEY. Se a chave da aplicação não estiver definida, as suas sessões de usuário e outros dados criptografados não serão seguros.

Estrutura de pastas

  • app/ - Componentes da sua aplicação.
  • bootstrap/ - Arquivos que inicializam o framework e configuram o autoloading.
  • config/ - Arquivos de configuração do projeto.
  • database/ - Contém os arquivos de migration e seeds do seu banco de dados, nas pastas factories, migrations e seed.
  • public/ - É o seu DocumentRoot (toda requisição efetuada pelo usuário cairá nela).
  • node_modules/ - Será criada na execução do comando npm install, na raiz do projeto.
  • resources/ - Contém as suas views, raw assets (LESS, SASS, CoffeeScript), e arquivos de localização.
  • storage/ - É responsável por armazenar os arquivos de uso interno do Laravel tais como: Cache, logs e etc.
  • tests/ - Contém os arquivos de testes, para a aplicação.
  • vendor/ - Gerada automaticamente pelo composer, é nela que encontramos as bibliotecas que farão com que o Laravel rode. – .env – .env.example – .gitattributes – .gitignore – artisan – composer.json – composer.lock – gulpfile – package.json – phpunit.xml – readme.md – server.php

Conclusão

Essa é uma breve introdução ao Laravel, onde podemos fazer a instalação e criar um novo projeto. Nos próximos artigos, veremos coisas mais práticas e conheceremos mais sobre suas funcionalidades e etc.