Iniciando um Novo Projeto no Laravel

Iniciando um Novo Projeto no Laravel

Dando sequencia ao tutorial sobre Laravel, vou mostrar como iniciar um novo projeto. Vamos instalar o framework, dependências e fazer as configurações necessárias. Esta aplicação está disponível no Github no endereço github.com/oscardias/desenvolvendo_com_laravel, sendo que a cada novo artigo vou criar uma nova tag no repositório para facilitar o acompanhamento.

Pré-requisitos

Para que você possa acompanhar e executar os mesmos passos, você vai precisar dos seguintes componentes instalados:

  • PHP >= 5.3.7
    • Extensões: MCrypt e JSON
  • MySQL
  • Apache (ou outro servidor)
    • mod_rewrite habilitado
  • Composer
  • Git (opcional)

Instalando o Framework

Ao instalarmos o Laravel, vamos obter a estrutura de diretórios da nossa aplicação e um diretório chamado vendor, que contém todas as dependências necessárias, inclusive o framework. Essa estrutura contém definições padrões, como o composer.json e o .gitignore.

Utilizando o Instalador do Laravel

A maneira mais rápida de fazer a instalação dos arquivos do framework e suas dependências é utilizar o instalador disponibilizado pelo próprio Laravel. Baixe o instalador neste link. Se você está no Linux ou Mac você pode renomear o arquivo para laravel e colocar o mesmo em /usr/local/bin/. Seguindo este procedimento você pode criar novas aplicações utilizando o comando:

Para usuários do Windows é um pouco mais complicado utilizar este método. Você pode incluir o diretório onde está o arquivo laravel.phar ao PATH do sistema ou executá-lo diretamente na pasta desejada. Por exemplo, se você tem uma pasta www com seus projetos, pode colocar o laravel.phar dentro do diretório executar o comando:

Utilizando o Composer

Este método é mais demorado que o anterior, mas bem prático também. Instale o Composer e execute o seguinte comando:

Utilizando o Git

Você também pode utilizar o Git para clonar o repositório do Laravel e logo após instalar as dependências com o Composer. Como o Composer é meio lento, este procedimento também é demorado. Comandos necessários:

Fazendo o Download

Se você preferir pode simplesmente fazer o download da última versão em https://github.com/laravel/laravel/archive/master.zip e depois utilizar o Composer para atualizar as dependências usando composer install.

Configurações

Depois de devidamente instalado, vamos fazer algumas configurações para acessar o nosso projeto.

Virtual Host (opcional)

Eu gosto de acessar meus projetos na forma http://projeto.localhost/. Isto permite configurar o .htaccess e as URLs da mesma maneira que vão funcionar quando o projeto estiver no domínio de produção. Existem diversas maneiras de fazer isso e sempre depende da sua instalação. Vou explicar uma maneira para o Windows e uma para o Ubuntu. Se você utiliza outro SO, procure no Google pois existem várias referencias por aí.

Windows

No Windows você deve encontrar um arquivo chamado httpd-vhosts.conf dentro do <diretório do apache>\conf\extra. Se você não possui este arquivo pode fazer diretamente no httpd.conf. Adicione no final do arquivo:

Substitua o diretório pelo diretório onde está o seu projeto. Abra o arquivo Windows\System32\drivers\etc\hosts e adicione uma linha para o novo projeto:

Reinicie o Apache e tente acessar o endereço http://desenvolvendo_com_laravel.localhost. Se tudo correu bem você verá a mensagem do Laravel “You have arrived”.

Ubuntu

Para fazer um virtual host no Ubuntu, crie um arquivo desenvolvendo_com_laravel.localhost.conf dentro do diretório /etc/apache2/sites-available (pode user sudo touch para criar o arquivo). Coloque o seguinte conteúdo dentro dele:

Substitua o diretório pelo diretório do seu projeto. Depois execute o comando sudo a2ensite desenvolvendo_com_laravel.localhost.conf para ativar o VHost. Assim como no Windows é necessário alterar o arquivo de hosts. No Ubuntu ele está localizado em /etc/host. Adicione no final do arquivo:

Reinicie o servidor utilizando sudo service apache2 reload e está tudo pronto.

Composer

Vamos modificar o arquivo composer.json para ficar de acordo com nosso projeto. Precisamos alterar apenas as primeiras linhas:

Banco de Dados

Vamos criar um banco de dados no MySQL chamado dev_laravel. Abra o arquivo app/config/database.php e altere o array de conexões para o seguinte:

Lembre-se de alterar o usuário e senha da sua conexão caso neessário.

URL

Para finalizar as configurações básicas, abra o arquivo app/config/app.php e edite a propriedade url. Coloque o endereço que configuramos no virtual host.

Ambiente

Para o Laravel saber que estamos trabalhando em ambiente local, precisamos abrir o arquivo bootstrap/start.php e modificar a variável $env. É necessário adicionar o nome do computador onde você vai trabalhar localmente.

Neste caso adicionei meus dois computadores. Para encontrar o nome do seu computador no Windows, vá em Computador > Propriedades e procure por Nome do computador. No Linux e no Mac basta usar o comando hostname.

No futuro isto vai permitir criar uma pasta local dentro da pasta config. Nesta pasta será possível sobrescrever as configurações que você quiser para diferenciar da produção. Por exemplo, será possível criar duas configurações distintas de bancos de dados, local e de produção.

Verifique se sua instalação já não possui um diretório local. Possivelmente tem um arquivo database.php lá. Este arquivo será usado pelo Laravel quando você executar localmente, por isso defina suas configurações de acesso ao banco neste arquivo também.

Conclusão

Acredito que depois deste tutorial você conseguirá entender um pouco melhor a configuração do Laravel e será capaz de acompanhar nossos próximos tutoriais. No próximo vou escrever sobre o Eloquent ORM. Se você tem alguma dúvida, escreva nos comentários.

Este post é parte da série Desenvolvendo com Laravel.

13 respostas para “Iniciando um Novo Projeto no Laravel”

  1. Oscar,

    Qual editor aconselha? Quando trabalhava com CodeIgniter utilizava o Aptana Studio 3, é possível utilizá-lo com Laravel, pois testei mas fica apresentando mensagens de erro de sintaxes nos comandos.

    1. Giovani,

      Eu tenho utilizado o Netbeans. É um editor simples, gratuito, mas que oferece uma boa integração com o Git. Já usei o Komodo IDE, que é muito bom – tem algumas ferramentas para trabalho em equipe bem interessantes, mas a integração com o Git era pior que o Netbeans, por isso desisti dele.

      Mas não tem nenhum editor perfeito para o Laravel até onde eu saiba. Em especial com relação as views que utilizam o Blade. O Netbeans até consegue colocar uma cor diferente as vezes, mas não consegue validar variáveis dentro das chaves assim como faz quando se usam tags do PHP.

      Minha recomendação é testar diferentes opções e ver qual delas você vai preferir.

  2. Olá, Oscar
    Achei este tutorial muito bom, mas ainda tenho problema para iniciar o Laravel. Estou há 2 dias testando várias possibilidades e não consigo
    Estou usando debian. Instalei o laravel via composer. Coloquei o composer no diretório do sistema – usr/bin e o executei via terminal para instalar o laravel criando um projeto com este comando:
    composer create-project laravel/laravel laravel-intro –prefer-dist
    Tudo ok, não aparece erro nenhum no terminal, então por fim rodo:
    php artisan serve
    Cuja saída é:
    Laravel development server started on http://localhost:8000
    Porém acessando http://localhost:8000
    Estou com apache2 instalando e funcionado normalmente

    1. E ai Henrique,
      Acredita que eu nunca usei o “php artisan serve”… Como eu trabalhava com o CodeIgniter antes e ele não tinha esta facilidade, me acostumei a criar Virtual Hosts para cada projeto dentro do Apache. Como você tem o apache instalado, esta seria minha recomendação pra você, assim não precisa rodar o “php artisan serve” cada vez.
      No Ubuntu os sites ficam em /etc/apache2/sites-available/example.localhost.conf (dependendo da versão do Apache precisa do .conf no final do arquivo). Dentro do arquivo tem que colocar algo assim:

      <VirtualHost *:80>
      ServerAdmin webmaster@localhost
      ServerName example.localhost

      DocumentRoot /home/oscar/www/example/public

      <Directory /home/oscar/www/example/public>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
      </Directory>

      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>

      No Laravel você precisa do /public pois lá está o index.php. Se você criou o projeto no diretório /home/seuusuario/www/laravel então o diretório seria /home/seuusuario/www/laravel/public. Depois é só habilitar o site usando “sudo service a2ensite example.localhost.conf” e reiniciar o apache com “sudo service apache2 reload”. Finalmente, atualiza o /etc/hosts para que o endereço http://example.locahost aponte para o 127.0.0.1. Assim você pode ter inúmeros projetos rodando em paralelo e não precisa iniciar nada pela linha de comando.
      Eu trabalho com o Ubuntu, mas acredito que no Debian deve ser bem parecido.

      1. Oi, Oscar. Obrigado pela ajuda. Em casa tenho o Ubuntu e consigo rodar o laravel com o “php artsina serve”
        Consigo acessar normalmente pelo http://localhost:8000. Aqui no trabalho tenho debian e por algum motivo não funciona, embora a saída no terminal indique que está tudo ok, como no Ubuntu
        Pelo que entendi posso acessar uma view dessa forma: localhost/nome_do_projeto/public/nome-da-view

        Segui este tutorial (https://www.packtpub.com/books/content/laravel-4-creating-simple-crud-application-hours), mas não consigo carregar a view
        Dá este erro Not Found

        —————————————–

        Let’s register a route about by adding the following code to app/routes.php:

        Route::get(‘about’, function() {
        return View::make(‘about’);
        });

        We would need to create a view at app/views/about.php. So create the file and insert the following code in to it:

        About my little app
        Hello Laravel 4!
        Welcome to the Awesomeness!

        Now head over to your browser and run http://localhost/laravel/public/about. You will be greeted with the following output:

        Hello Laravel 4!

        Welcome to the Awesomeness!

        ————————————————————

        Só funciona se eu colocar:
        Route::get(‘/’, function() {
        return View::make(‘about’);
        });

        1. Se você acessa usando http://localhost:8000/ então este já é o seu public. Para acessar a rota Route::get(‘about’,…) você deveria acessar usando http://localhost:8000/about diretamente. Se você vai configurar diferentes projetos com Vhosts como comentei anteriormente, ai você pode usar a estrutura do nome_do_projeto e dependendo de como você configurar pode ser com ou sem o /public – para acessar usando localhost/nome_do_projeto/public/nome-da-view.

          No link que você enviou não tem a parte de configuração do servidor, então não sei se foi usando Virtual Hosts… você tem o livro completo? Aquela parte eu acho que é apenas uma parte do livro, então seria interessante acompanhar todo o livro.

  3. Quando baixo diretamente do composer, já vem com o nome da pasta laravel. Não é possível baixar usando o composer já com o nome do projeto? Exemplo: ao invés de composer create-project laravel/laravel –prefer-dist usar composer create-project meu_projeto/meu_projeto –prefer-dist?

    1. Tem uma maneira mais fácil usando o instalador do Laravel:
      composer global require "laravel/installer=~1.1"
      Isso vai instalar o installer do Laravel. Depois para criar um projeto basta usar:
      laravel new meu_projeto
      É mais rápido do que usar o Composer.

Deixe uma resposta para Giovani Hardt Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *