Principais conclusões:
- A integração do Bootstrap com o Laravel simplifica o desenvolvimento web, combinando o poder de backend do Laravel com o design de frontend do Bootstrap.
- Esta combinação aumenta a eficiência, assegura um design consistente em todos os dispositivos e oferece opções de personalização.
- Existem vários métodos de integração, incluindo a utilização do npm, de ligações CDN ou do Laravel Mix para a compilação de activos.
A tarefa de mesclar modelos de front-end no Laravel geralmente apresenta desafios significativos para os desenvolvedores. Pode ser um processo complexo e demorado que pode levar a um código desorganizado, afetando assim a produtividade do processo de desenvolvimento.
O Bootstrap, um framework front-end amplamente utilizado, oferece uma solução. Quando integrado no Laravel, pode simplificar o processo de desenvolvimento, melhorar a organização do código e melhorar o aspeto visual da tua aplicação.
Este artigo apresenta um guia passo a passo para integrar um modelo Bootstrap com o Laravel. O objetivo é capacitar-te a construir aplicações web visualmente atraentes e altamente funcionais com maior eficiência e tempo de desenvolvimento reduzido.
- Breve descrição geral de Laravel e Bootstrap
- Por que integrar Bootstrap com Laravel?
- Requisitos de sistema para integração
- Configurar o ambiente de desenvolvimento
- Compreender os modelos Bootstrap
- Como integrar o Bootstrap no Laravel
- Como instalar o Bootstrap Template na aplicação Laravel
- Descarregando o Dashboard com Laravel
- Os melhores modelos Bootstrap para Laravel
Breve descrição geral de Laravel e Bootstrap
Laravel é uma estrutura amplamente utilizada para criar aplicações Web utilizando PHP. Foi concebida para facilitar aos programadores tarefas comuns como o encaminhamento, o armazenamento em cache e a segurança. O Laravel fornece ferramentas prontas a utilizar para estas tarefas, para que os programadores possam começar a programar imediatamente.
O Bootstrap é uma ferramenta gratuita para a criação de sítios Web responsivos e que dão prioridade aos dispositivos móveis. Fornece modelos de design pré-fabricados para vários elementos, como tipografia, formulários e botões. A utilização do Bootstrap pode melhorar o aspeto da tua aplicação Laravel e torná-la mais fácil de utilizar.
Combinar as capacidades robustas de back-end do Laravel com os designs responsivos de front-end do Bootstrap pode tornar o desenvolvimento web mais rápido e mais eficiente, levando a uma melhor aplicação web.
Por que integrar Bootstrap com Laravel?
A integração do Bootstrap com o Laravel pode beneficiar os programadores Web por várias razões:
- Eficiência: O Laravel ajuda nas tarefas do back-end e o Bootstrap poupa tempo no design do front-end. Utilizá-los em conjunto torna a construção de aplicações web mais rápida.
- Consistência: O Bootstrap garante que a tua aplicação fica bem em todos os dispositivos e plataformas. Isto é ótimo para aplicações que precisam de funcionar tanto no computador como no telemóvel.
- Personalização: O Bootstrap é flexível. Podes alterar os seus designs para se adequarem ao aspeto e à sensação da tua aplicação.
- Suporte da comunidade: Tanto o Laravel como o Bootstrap têm grandes comunidades. Podes encontrar muitos recursos, tutoriais e pacotes extra para ajudar no teu desenvolvimento.
- Preparado para o futuro: O Laravel e o Bootstrap são actualizados regularmente com as mais recentes práticas de desenvolvimento Web. A sua utilização mantém a tua aplicação moderna e actualizada.
Requisitos de sistema para integração
Para integrar o Bootstrap com o Laravel, precisas dos seguintes requisitos de sistema:
- Sistema Operacional: O Laravel funciona em Windows, macOS e Linux.
- PHP: Precisas de PHP 7.3 ou superior.
- Compositor: Usa-o para gerir as dependências no Laravel.
- Base de dados: Laravel suporta bases de dados como MySQL, PostgreSQL e SQL Server.
- Servidor Web: É necessário um servidor Web como o Apache ou o Nginx para servir a tua aplicação Laravel.
- Node.js e NPM: Estes são utilizados para compilar activos no Laravel.
- Bootstrap: Podes obter o Bootstrap a partir do seu site oficial ou utilizar o npm.
- Editor de texto ou IDE: Vais precisar de uma ferramenta como o Visual Studio Code, Sublime Text ou PHPStorm para escrever o teu código.
Experimenta a facilidade de integração do Bootstrap Laravel com a Cloudways!
Com suporte para todos os requisitos de sistema, desde PHP 7.3 ou superior, Composer, MySQL, Apache, Node.js, NPM, até Bootstrap, temos tudo o que precisas.
Configurar o ambiente de desenvolvimento
A integração do Laravel com o Bootstrap é uma forma fantástica de criar aplicações Web com uma interface de utilizador elegante e responsiva. Para configurar seu ambiente de desenvolvimento para esse fim, siga estas etapas:
Passo 1: Instala o Laravel
Antes de integrares o Bootstrap, precisas de ter o Laravel instalado. Se ainda não o fizeste, abre o teu terminal e executa o seguinte comando para criar um novo projeto Laravel:
composer create-project --prefer-dist laravel/laravel nome do projeto
Este comando criará um novo projeto Laravel em um diretório chamado project-name.
Passo 2: Configura o Laravel Mix
O Laravel Mix é uma ferramenta poderosa para gerenciar os ativos do teu aplicativo. No diretório do projeto Laravel, abra o arquivo webpack.mix.js e configure-o para compilar seus ativos CSS e JavaScript.
mistura.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
Passo 3: Instala o Bootstrap
Podes adicionar o Bootstrap ao teu projeto utilizando o npm. Executa o seguinte comando no diretório do teu projeto. Isto irá descarregar o Bootstrap e as suas dependências para o teu projeto.
npm install bootstrap
Passo 4: Importar estilos e scripts Bootstrap
Abre o teu ficheiro resources/sass/app.scss e adiciona a seguinte linha no topo para importar os estilos do Bootstrap.
@importa '~bootstrap/dist/css/bootstrap.css';
Em seguida, abre o ficheiro resources/js/bootstrap.js e inclui os componentes JavaScript do Bootstrap:
requer('bootstrap');
Passo 5: Compila os activos
Agora, executa o seguinte comando para compilar os teus ativos usando o Laravel Mix. Este comando irá compilar os teus ficheiros Sass e JavaScript e copiá-los para o diretório público.
npm run dev
Como integrar o Bootstrap no Laravel
O layout é um componente crítico do projeto. O Laravel resolve isso oferecendo um mecanismo de modelos Blade que produz designs e modelos sofisticados baseados em HTML. Todas as
visualizações do Laravel
construídas com o Blade são armazenadas no diretório resources/views.
O Laravel, por padrão, usa o
NPM
para instalar seus pacotes de front-end. Embora o Laravel não imponha o uso de pré-processadores JavaScript ou CSS específicos, ele fornece um ponto de partida fundamental com Bootstrap, React e/ou Vue que pode ser vantajoso para vários aplicativos.
A integração do modelo Bootstrap com Laravel é um procedimento simples. Requer a segmentação do teu HTML Bootstrap em fragmentos mais pequenos do modelo Blade. Esses fragmentos podem então ser utilizados, estendidos e/ou incluídos no ficheiro Blade principal.
O teu álbum
Exemplo de álbum para Bootstrap
será utilizado para ilustrar este processo.

O código do teu modelo é composto por várias partes. Para o gerir eficazmente, vamos criar um esquema em que todas as partes parciais do esquema são mantidas separadas.
Navega até à pasta resources/view e cria uma nova pasta chamada layouts. Esta pasta irá alojar o layout principal e outros ficheiros que serão incluídos no layout.
Em seguida, cria outra pasta e dá-lhe o nome de partials. Esta pasta conterá ficheiros parciais, como o cabeçalho e o rodapé, que serão utilizados pelo ficheiro de apresentação.
Por fim, vai à pasta dos layouts e cria um ficheiro chamado mainlayout.blade.php. Podes então adicionar o código pretendido a este ficheiro. Este ficheiro será o layout principal da tua aplicação.
<!DOCTYPE html>
<html lang="en">
<head>
@include('layout.partials.head')
</head>
<body>
@include('layout.partials.nav')
@include('layout.partials.header')
@yield('content')
@include('layout.partials.footer')
@include('layout.partials.footer-scripts')
</body>
</html>
Este código gera um ficheiro de layout que incorpora o conteúdo de um ficheiro especificado numa localização designada dentro do ficheiro HTML, utilizando a função
Diretiva @include . A diretiva @yield é utilizada para inserir o conteúdo específico de um ficheiro que estende este esquema.
Passo 1: Criar ficheiros parciais
Terás de gerar ficheiros parciais que serão integrados no ficheiro de esquema principal. Navega até o diretório de parciais e cria um novo arquivo chamado head.blade.php. Este arquivo conterá o conteúdo que vai para a seção head da página.
<meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content=""> <meta name="author" content=""> <title>Exemplo de álbum para Bootstrap</title> <!-- CSS do núcleo do Bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzzGRnGxQQKnKkoFVhFQhNUIyJ" crossorigin="anonymous"> <!-- Estilos personalizados para este modelo --> <link href="/css/album.css" rel="stylesheet">
Cria um ficheiro nav.blade.php. Este ficheiro conterá o código relacionado com a criação da navegação da página Bootstrap.
<div class="collapse bg-inverse" id="navbarHeader"> <div class="contentor"> <div class="row"> <div class="col-sm-8 py-4"> <h4 class="text-white">Sobre</h4> <p class="text-muted">Adiciona alguma informação sobre o álbum abaixo, o autor, ou qualquer outro contexto. Faz algumas frases longas para que as pessoas possam recolher algumas informações. Depois, liga-o a alguns sites de redes sociais ou a informações de contacto.</p> </div> <div class="col-sm-4 py-4"> <h4 class="text-white">Contacto</h4> <ul class="list-unstyled"> <li><a href="#" class="text-white">Seguir no Twitter</a></li> <li><a href="#" class="text-white">Gosta no Facebook</a></li> <li><a href="#" class="text-white">Email-me</a></li> </ul> </div> </div> </div> </div> <div class="navbar navbar-inverse bg-inverse"> <div class="contentor d-flex justify-content-between"> <a href="#" class="navbar-brand">Álbum</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarHeader" aria-controls="navbarHeader" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> </div> </div>
Cria um ficheiro header.blade.php. Este ficheiro irá conter o cabeçalho visível da página Bootstrap.
<secção class="jumbotron text-center"> <div class="contentor"> <h1 class="jumbotron-heading">Exemplo de álbum</h1> <p class="lead text-muted">Algo curto e importante sobre a coleção abaixo - o seu conteúdo, o criador, etc. Sê breve e simpático, mas não demasiado curto, para que as pessoas não passem por cima dele.</p> <p> <a href="#" class="btn btn-primary">Principal apelo à ação</a> <a href="#" class="btn btn-secondary">Ação secundária</a> </p> </div> </secção>
Cria um ficheiro chamado footer.blade.php para o rodapé.
<footer class="text-muted"> <div class="contentor"> <p class="float-right"> <a href="#">Volta ao início</a> </p> <p>O exemplo do álbum é © Bootstrap, mas faz o download e personaliza-o tu mesmo!</p> <p>Novo no Bootstrap? <a href="../../">Visita a página inicial</a> ou lê o nosso <a href="../../getting-started/">guia de iniciação</a>.</p> </div> </footer>
Cria um ficheiro chamado footer-scripts.blade.php que contenha os ficheiros JS que devem ser incluídos na parte inferior da página.
<!-- JavaScript do núcleo do Bootstrap ================================================= --> <!-- Colocado no fim do documento para que as páginas carreguem mais depressa --> <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
Depois de criares todos os ficheiros de vistas , a pasta de vistas deve ter o seguinte aspeto:

É tudo o que tens a fazer. O template Bootstrap de exemplo, Album Bootstrap, está agora integrado com sucesso no Laravel.
Passo 2: Testa a interface do utilizador
Vamos criar um arquivo de visualização que estende esse arquivo de layout para ver a integração do layout do Bootstrap com o modelo Laravel Blade
em ação. Cria um ficheiro demo.blade.php na pasta views e adiciona o seguinte conteúdo ao ficheiro:
@extende('layout.mainlayout')
@secção('conteúdo')
<div class="álbum text-muted">
<div class="contentor">
<div class="row">
<h1>Este é um texto de demonstração</h1>
<p>Escreve qualquer texto para preencher espaços</p>
</div>
</div>
</div>
@secção final
Passo 3: Cria as rotas
Agora que a visualização foi criada, o próximo passo é criar uma rota para acessar a visualização. Para isso, vai a routes/web.php e cola as seguintes rotas.
Route::get('/demo', function () {
retorna view('demo');
});
Agora executa a aplicação usando o URL de teste. Verás o modelo Album Bootstrap integrado na tua aplicação.

Como instalar o Bootstrap Template na aplicação Laravel
Nesta secção, mostrarei como integrar o
CoolAdmin Dashboard
em uma aplicação Laravel e como é fácil adicionar temas Bootstrap. Também mostrarei como integrar um tema de administração passo a passo, um recurso fundamental para gerenciar componentes do site a partir do painel.
Depois de instalar o modelo, vou criar duas páginas, ou seja, my-home e my-users. Este processo mostra a aplicação prática do tema integrado na criação de páginas Web funcionais.
Descarregando o Dashboard com Laravel
Primeiro, escolhe e descarrega um dashboard que queiras utilizar com a tua aplicação Laravel. Por exemplo, o CoolAdmin Dashboard é amigável e fácil de usar. Uma vez descarregado, extrai os ficheiros JS, CSS e os ícones e coloca-os na tua aplicação Laravel.
Em seguida, cria uma pasta “theme” dentro da pasta “public” da tua aplicação Laravel. Copia todos os dados extraídos para esta pasta “theme”.
Passo 1: Configura a rota
Primeiro, vais configurar as rotas. Adiciona duas rotas, my-home e my-users, para as duas páginas. Podes fazer isto no ficheiro de rotas com o seguinte código:
// routes/web.php
Route::get('minha-casa', 'HomeController@meuCasa');
Route::get('my-users', 'HomeController@myUsers');
Passo 2: Adiciona o controlador
Em seguida, tens de criar um novo HomeController e adicionar dois métodos para a página do painel e para a página do utilizador. Podes utilizar o seguinte código para o HomeController.
// app/Http/Controllers/HomeController.php
<?php
namespace App\Http\Controllers;
utiliza Illuminate\Http\Request;
utiliza App\Item;
class HomeController extends Controller
{
/**
* Cria uma nova instância de controlador.
*
* @return void
*/
função pública __construct()
{
}
/**
* Mostra o painel de controlo da aplicação.
*
* @return \Illuminate\Http\Response
*/
função pública myHome()
{
devolve view('myHome');
}
/**
* Mostra a página Os meus utilizadores.
*
* @return \Illuminate\Http\Response
*/
função pública myUsers()
{
devolve view('myUsers');
}
}
Passo 3: Configura os ficheiros do tema
Em seguida, vais configurar os ficheiros blade do tema. Para o tema CoolAdmin Dashboard, vais criar três ficheiros. Se estiveres a utilizar um tema maior, poderás ter de criar mais ficheiros para o gerir. Na pasta ‘view’, cria uma pasta ‘theme’ que contenha três ficheiros:
- default.blade.php
- header.blade.php
- sidebar.blade.php
Em seguida, adicionas código a estes três ficheiros. Por exemplo, o caminho para o ficheiro predefinido seria resources/views/theme/default.blade.php.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>SB Admin 2 - Tema de administração Bootstrap</title>
<!-- CSS do núcleo do Bootstrap -->
<link href="{!! asset('theme/vendor/bootstrap/css/bootstrap.min.css') !!}" rel="stylesheet">
<!-- CSS do MetisMenu -->
<link href="{!! asset('theme/vendor/metisMenu/metisMenu.min.css') !!}" rel="stylesheet">
<!-- CSS personalizado -->
<link href="{!! asset('theme/dist/css/sb-admin-2.css') !!}" rel="stylesheet">
<!-- Gráficos de Morris CSS -->
<link href="{!! asset('theme/vendor/morrisjs/morris.css') !!}" rel="stylesheet">
<!-- Tipos de letra personalizados -->
<link href="{!! asset('theme/vendor/font-awesome/css/font-awesome.min.css') !!}" rel="stylesheet" type="text/css">
</head>
<body>
<div id="wrapper">
<!-- Navegação -->
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
@include('theme.header')
@include('theme.sidebar')
</nav>
<div id="page-wrapper">
@yield('content')
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
<!-- jQuery -->
<script src="{!! asset('theme/vendor/jquery/jquery.min.js') !!}"></script>
<!-- JavaScript do núcleo do Bootstrap -->
<script src="{!! asset('theme/vendor/bootstrap/js/bootstrap.min.js') !!}"></script>
<!-- JavaScript do plug-in do menu Metis -->
<script src="{!! asset('theme/vendor/metisMenu/metisMenu.min.js') !!}"></script>
<!-- Morris Charts JavaScript -->
<script src="{!! asset('theme/vendor/raphael/raphael.min.js') !!}"></script>
<script src="{!! asset('theme/vendor/morrisjs/morris.min.js') !!}"></script>
<script src="{!! asset('theme/data/morris-data.js') !!}"></script>
<!-- JavaScript de tema personalizado -->
<script src="{!! asset('theme/dist/js/sb-admin-2.js') !!}"></script>
</body>
</html>
Passo 4: Configura o cabeçalho
Insere o seguinte código no ficheiro do diretório resources/views/theme/header.blade.php.
<nav class="navbar navbar-expand-lg navbar-transparent navbar-absolute fixed-top"> <div class="contentor-fluido"> <div class="navbar-wrapper"> <a class="navbar-brand" href="#pablo">Dashboard</a> </div> <button class="navbar-toggler" type="button" data-toggle="collapse" aria-controls="navigation-index" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Alterar navegação</span> <span class="navbar-toggler-icon icon-bar"></span> <span class="navbar-toggler-icon icon-bar"></span> <span class="navbar-toggler-icon icon-bar"></span> </button> <div class="collapse navbar-collapse justify-content-end"> <form class="navbar-form"> <span class="bmd-form-group"> <div class="input-group no-border"> <input type="text" value="" class="form-control" placeholder="Pesquisar..."> <button type="submit" class="btn btn-white btn-round btn-just-icon"> <i class="material-icons">procura</i> <div class="ripple-container"></div> </button> </div> </span> </form> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" href="#pablo"> <i class="material-icons">painel de controlo</i> <p class="d-lg-none d-md-block"> Estatísticas </p> </a> </li> <li class="nav-item dropdown"> <a class="nav-link" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="material-icons">notificações</i> <span class="notification">5</span> <p class="d-lg-none d-md-block"> Algumas acções </p> </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink"> <a class="dropdown-item" href="#">Mike John respondeu ao teu e-mail</a> <a class="dropdown-item" href="#">Tens 5 novas tarefas</a> <a class="dropdown-item" href="#">Agora és amigo do André</a> <a class="dropdown-item" href="#">Outra notificação</a> <a class="dropdown-item" href="#">Outro</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link" href="#pablo" id="navbarDropdownProfile" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="material-icons">pessoa</i> <p class="d-lg-none d-md-block"> Conta </p> </a> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownProfile"> <a class="dropdown-item" href="#">Profile</a> <a class="dropdown-item" href="#">Definições</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Log out</a> </div> </li> </ul> </div> </div> </nav>
Passo 5: Configura a barra lateral
Depois de configurares o cabeçalho com sucesso, está na altura de configurares a barra lateral. Insere o seguinte código.
<div class="sidebar" data-color="purple" data-background-color="white" data-image="../assets/img/sidebar-1.jpg"> <div class="logótipo"> <a href="http://www.creative-tim.com" class="simple-text logo-normal"> Criativo Tim </a> </div> <div class="sidebar-wrapper ps-container ps-theme-default" data-ps-id="d8631889-919e-0705-2d4b-159fdbdfe8cd"> <ul class="nav">
Shahzeb Ahmed
Um criativo de dia (com uma chávena de chá) e um criativo de noite. Ahmad Kamran é um escritor de conteúdos sazonais e Executivo de Marketing Sénior na Cloudways. Podes encontrá-lo na sua secretária a escrever, a criar estratégias ou a jogar jogos. E, caso não o encontres aqui, ele estará nas montanhas ou à beira do rio.