Criando e Executando um Projeto Laravel
O que é Laravel?
Laravel é um framework PHP de código aberto criado pelo desenvolvedor PHP Taylor Otwell. Ele visa fornecer aos desenvolvedores um conjunto de ferramentas limpo e elegante para construir aplicações web modernas. Laravel oferece um conjunto rico de recursos, como roteamento, sessão, cache, autenticação, etc., que simplificam tarefas comuns de desenvolvimento web.
Principais Recursos e Vantagens do Laravel
- Simplicidade e Elegância: A sintaxe do Laravel é simples e elegante, tornando o código mais legível e mantível.
- Conjunto Rico de Recursos: Inclui roteamento, autenticação, gestão de sessões e cache, simplificando significativamente o processo de desenvolvimento.
- ORM Poderoso: O ORM Eloquent fornece uma implementação simples do ActiveRecord para operações de banco de dados.
- Design Modular: Facilmente integra bibliotecas e extensões de terceiros através do gerenciador de pacotes Composer.
- Forte Suporte da Comunidade: Grande comunidade de desenvolvedores e rico ecossistema.
Laravel ajuda 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 em nível empresarial.
Criando e Executando um Projeto Laravel com o ServBay
Neste artigo, usaremos o ambiente PHP do ServBay para criar e executar um projeto Laravel. Utilizaremos o recurso 'Host' do ServBay para configurar o servidor web e acessar o projeto através de uma configuração simples.
Nota: se você era anteriormente um usuário de NGINX ou Apache
ServBay usa Caddy como servidor web padrão. Existem algumas mudanças importantes a serem observadas para os usuários que estão migrando do NGINX e Apache para o ServBay:
Configuração do Caddy
O ServBay tem o Caddy embutido e já está otimizado e depurado por padrão. Os desenvolvedores precisam apenas usar o recurso 'Host' do ServBay para gerenciar o site, sem modificar manualmente os arquivos de configuração do Caddy.
Regras de Reescrita e .htaccess
No NGINX e Apache, os desenvolvedores geralmente precisam escrever suas próprias regras de reescrita e arquivos .htaccess para lidar com a reescrita de URLs e outras configurações. No entanto, as configurações padrão do ServBay já configuram as regras do Caddy, então, a menos que haja requisitos especiais, os desenvolvedores não precisam escrever essas regras eles mesmos.
Saiba Mais
Para mais informações, consulte Rewrite and htaccess, How to Migrate Apache Sites to ServBay, How to Migrate NGINX Sites to ServBay.
Criando um Projeto Laravel
TIP
O ServBay recomenda que os desenvolvedores coloquem o site no diretório /Applications/ServBay/www
para uma fácil gestão.
Instalar Composer
O ServBay vem com o Composer pré-instalado, sem necessidade de instalação separada.
Criar 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
4Entrar no Diretório do Projeto
Navegue até o diretório do projeto Laravel recém-criado:
bashcd /Applications/ServBay/www/servbay-laravel-app
1
Configuração Inicial
Gerar Chave da Aplicação
Laravel requer uma chave de aplicação para garantir a segurança das sessões dos usuários e outros dados criptografados. Você pode gerar uma chave de aplicação usando o comando Artisan:
bashphp artisan key:generate
1Configurar Variáveis de Ambiente
Configure as informações da conexão com o banco de dados e outras variáveis de ambiente no arquivo
.env
. Certifique-se de que as seguintes configurações estejam 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 através do servidor web. Nas configurações 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 passos detalhados, consulte Adding the First Website.
Adicionando Código de Exemplo
Adicione o seguinte código ao arquivo routes/web.php
para exibir "Hello ServBay!":
Route::get('/', function () {
return 'Hello ServBay!';
});
2
3
Acessando o Site
Abra um navegador e visite https://servbay-laravel-test.local
, você verá a página exibindo Hello ServBay!
.
Exemplo de Banco de Dados NoSQL
Exemplo com Memcached
Instalar Extensão Memcached
No ServBay, a extensão Memcached está pré-instalada, não sendo necessário instalação adicional.
Configurar o Memcached
Configure as informações de conexão com o Memcached no arquivo
.env
:CACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1
1
2Usar o Memcached
Use o cache nas rotas
routes/web.php
:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached', function () { Cache::put('key', 'value', 600); return Cache::get('key'); });
1
2
3
4
5
6Abra um navegador e visite
https://servbay-laravel-test.local/memcached
Exemplo com Redis
Instalar Extensão Redis
No ServBay, a extensão Redis está pré-instalada, não sendo necessário instalação adicional.
Configurar Redis
Configure as informações de conexão com o Redis no arquivo
.env
:CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
1
2
3
4Usar Redis
Use o cache nas rotas
routes/web.php
:phpuse Illuminate\Support\Facades\Redis; Route::get('/redis', function () { Redis::set('key', 'value'); return Redis::get('key'); });
1
2
3
4
5
6Abra um navegador e visite
https://servbay-laravel-test.local/redis
Exemplo de Banco de Dados Relacional
Criando Estrutura de Banco de Dados e Arquivos de Migração
Exemplo com MySQL
Configurar MySQL
Configure as informações de conexão com o 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
6Criar Arquivo de Migração
Use o comando Artisan para criar um arquivo de migração:
bashphp artisan make:migration create_accounts_table
1Editar Arquivo de Migração
Encontre o arquivo de migração recém-criado no diretório
database/migrations
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
9Executar Migração
Use o comando Artisan para executar a migração e criar a tabela no banco de dados:
bashphp artisan migrate
1Inserir Dados de Conta
Insira dados de conta nas rotas
routes/web.php
: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
9Usar MySQL
Consulte o banco de dados nas rotas
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Abra um navegador e visite
https://servbay-laravel-test.local/mysql-add
ehttps://servbay-laravel-test.local/mysql
Exemplo com PostgreSQL
Configurar PostgreSQL
Configure as informações de conexão com o 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
6Criar Arquivo de Migração
Use o comando Artisan para criar um arquivo de migração:
bashphp artisan make:migration create_accounts_table
1Editar Arquivo de Migração
Encontre o arquivo de migração recém-criado no diretório
database/migrations
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
9Executar Migração
Use o comando Artisan para executar a migração e criar a tabela no banco de dados:
bashphp artisan migrate
1Inserir Dados de Conta
Insira dados de conta nas rotas
routes/web.app
: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
9Usar PostgreSQL
Consulte o banco de dados nas rotas
routes/web.php
:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql', function () { $users = DB::table('accounts')->get(); return $users; });
1
2
3
4
5
6Abra um navegador e visite
https://servbay-laravel-test.local/pgsql-add
ehttps://servbay-laravel-test.local/pgsql
Seguindo os passos acima, você criou e executou com sucesso um projeto Laravel, gerenciou e acessou seu projeto usando os recursos do ServBay, conectou a múltiplos bancos de dados e consultou dados.