Criar e rodar um projeto Laravel
O que é Laravel?
Laravel é um framework PHP de código aberto criado pelo desenvolvedor PHP Taylor Otwell. Ele se dedica a fornecer aos desenvolvedores um conjunto de ferramentas simples e elegante para construir aplicações Web modernas. O Laravel oferece uma rica variedade de funcionalidades, como roteamento, sessões, cache, autenticação, etc., simplificando tarefas comuns de desenvolvimento Web.
Principais características e vantagens do Laravel
- Simplicidade e Elegância: A sintaxe do Laravel é simples e elegante, tornando o código mais legível e sustentável.
- Conjunto de Funcionalidades Ricas: Inclui roteamento, autenticação, gerenciamento de sessões e cache, simplificando muito o trabalho de desenvolvimento.
- ORM Poderoso: O Eloquent ORM fornece uma implementação ActiveRecord simples, facilitando a operação do banco de dados.
- Design Modular: Através do gerenciador de pacotes Composer, é fácil integrar bibliotecas e extensões de terceiros.
- Suporte da Comunidade Forte: Possui uma grande comunidade de desenvolvedores e um ecossistema rico.
Laravel pode ajudar os desenvolvedores a construir rapidamente aplicações Web e APIs de alta qualidade, sendo adequado para projetos de todos os tamanhos, desde pequenas aplicações até grandes sistemas corporativos.
Criando e rodando um projeto Laravel com o ServBay
Neste artigo, usaremos o ambiente PHP fornecido pelo ServBay para criar e rodar um projeto Laravel. Utilizaremos o recurso de 'Host' do ServBay para configurar o servidor Web e acessaremos o projeto com uma configuração simples.
Atenção: Se você já usou NGINX ou Apache antes
O ServBay usa o Caddy como servidor Web por padrão. Para usuários migrando de NGINX e Apache para ServBay, existem algumas mudanças importantes a serem observadas:
Configuração do Caddy
O ServBay já vem com o Caddy integrado, e sua configuração padrão já está otimizada e testada. Os desenvolvedores precisam apenas gerenciar o site através do recurso 'Host' do ServBay, sem necessidade de modificar os arquivos de configuração do Caddy manualmente.
Regras de Reescrita e .htaccess
No NGINX e Apache, os desenvolvedores normalmente precisam escrever suas próprias regras de reescrita e arquivos .htaccess para lidar com a reescrita de URLs e outras configurações. No entanto, o ServBay já vem com as regras do Caddy configuradas, então, a menos que haja uma necessidade específica, os desenvolvedores não precisam escrever essas regras.
Saiba Mais
Para mais informações, consulte Reescrita e htaccess, Como migrar um site Apache para o ServBay, Como migrar um site NGINX para o ServBay.
Criando um projeto Laravel
TIP
O ServBay recomenda que os desenvolvedores coloquem seus sites no diretório /Applications/ServBay/www
para facilitar a gestão.
Instalando o Composer
O ServBay já vem com o Composer instalado, então não é necessário instalá-lo separadamente.
Criando um projeto Laravel
Use o Composer para criar um novo projeto Laravel:
bashcd /Applications/ServBay/www mkdir servbay-laravel-app cd servbay-laravel-app composer create-project --prefer-dist laravel/laravel .
1
2
3
4Entrando no diretório do projeto
Entre no diretório do projeto Laravel recém-criado:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Configuração inicial
Gerando a chave da aplicação
O Laravel precisa de uma chave de aplicação para garantir a segurança das sessões de usuário e outros dados criptografados. Use o comando Artisan para gerar a chave da aplicação:
bashphp artisan key:generate
1Configurando variáveis de ambiente
Configure as informações de conexão ao banco de dados e outras variáveis de ambiente no arquivo
.env
. Certifique-se de que as seguintes configurações estão corretas:APP_NAME=Laravel APP_ENV=local APP_KEY=base64:... APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Configurando o servidor Web
Use o recurso 'Host' do ServBay para acessar o projeto Laravel via servidor Web. Na configuração de 'Host' do ServBay, adicione um novo host:
- Nome:
My First Laravel Dev Site
- Domínio:
servbay-laravel-test.local
- Tipo de site:
PHP
- Versão do PHP: escolha
8.3
- Diretório raiz do site:
/Applications/ServBay/www/servbay-laravel-app/public
Para etapas detalhadas de configuração, consulte Adicionando o primeiro site.
Adicionando código de exemplo
Adicione o seguinte código no arquivo routes/web.php
para exibir "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Acessando o site
Abra o navegador e acesse https://servbay-laravel-test.local
, você verá a mensagem Hello ServBay!
na página.
Exemplo de banco de dados NoSQL
Exemplo com Memcached
Instalando a extensão Memcached
No ServBay, a extensão Memcached já está pré-instalada, não é necessário instalar nada extra.
Configurando Memcached
Configure as informações de conexão ao Memcached no arquivo
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Usando Memcached
No controlador, use o cache:
phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6
Exemplo com Redis
Instalando a extensão Redis
No ServBay, a extensão Redis já está pré-instalada, não é necessário instalar nada extra.
Configurando Redis
Configure as informações de conexão ao Redis no arquivo
.env
:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Usando Redis
No controlador, use o cache:
phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6
Exemplo de banco de dados relacional
Criando estrutura de banco de dados e arquivos de migração
Criando arquivo de migração
Use o comando Artisan para criar um arquivo de migração:
bashphp artisan make:migration create_accounts_table
1Editando arquivo de migração
No diretório
database/migrations
, encontre o arquivo de migração recém-criado e edite-o para definir a estrutura da tabela do banco de dados:phppublic function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); }
1
2
3
4
5
6
7
8
9Rodando a migração
Use o comando Artisan para rodar as migrações e criar as tabelas do banco de dados:
bashphp artisan migrate
1
Exemplo com MySQL
Configurando MySQL
Configure as informações de conexão ao MySQL no arquivo
.env
:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Inserindo dados de usuário
No controlador, insira dados de usuário:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Usando MySQL
No controlador, chame o banco de dados:
phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Exemplo com PostgreSQL
Configurando PostgreSQL
Configure as informações de conexão ao PostgreSQL no arquivo
.env
:DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password
1
2
3
4
5
6Inserindo dados de usuário
No controlador, insira dados de usuário:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add', function () { DB::table('accounts')->insert([ 'name' => 'ServBay', 'email' => '[email protected]', ]); return 'Account added'; });
1
2
3
4
5
6
7
8
9Usando PostgreSQL
No controlador, chame o banco de dados:
phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6
Seguindo esses passos, você terá criado e rodado com sucesso um projeto Laravel, usando as funcionalidades fornecidas pelo ServBay para gerenciar e acessar seu projeto, além de conectar a vários bancos de dados e manipular dados.