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:
1 | # via cURL |
A instalação do Laravel, é simples com o comando:
1 | 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:
1 | export PATH="$PATH:$HOME/.composer/vendor/bin" |
Primeiro projeto
Para criar um novo projeto, usamos o comando:
1 | # new [nome do projeto] |
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:
1 | $value = config('app.timezone'); |
Para definir um valor em tempo de execução, passamos um array
, na função config
:
1 | 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
:
1 | 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:
1 | // o segundo parâmetro é um valor default |
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
:
1 | $environment = App::environment(); |
Também podemos passar argumentos para o environment
, para verificação.
1 | if (App::environment('local')) { |
Podemos também acessar pelo método auxiliar app
:
1 | $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:
1 | 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:
1 | 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
eseeds
do seu banco de dados, nas pastasfactories
,migrations
eseed
. - 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.