This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

A Agência da Próxima Geração chegou. Junte-se a mais de 3.000 profissionais de agências na Agency Advantage 2026. Registar gratuitamente→

Como integrar um modelo Bootstrap com Laravel

Atualizado em Junho 19, 2026

13 min de leitura

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

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:

  1. 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.
  2. 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.
  3. Personalização: O Bootstrap é flexível. Podes alterar os seus designs para se adequarem ao aspeto e à sensação da tua aplicação.
  4. 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.
  5. 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 project-name

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.

mix.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.

@import '~bootstrap/dist/css/bootstrap.css';

Em seguida, abre o ficheiro resources/js/bootstrap.js e inclui os componentes JavaScript do Bootstrap:

require('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.

exemplo de álbum para bootstrap

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.

<footer class="text-muted">

<div class="container">

<p class="float-right">

<a href="#">Back to top</a>

</p>

<p>Album example is © Bootstrap, but please download and customize it for yourself!</p>

<p>New to Bootstrap? <a href="../../">Visit the homepage</a> or read our <a href="../../getting-started/">getting started guide</a>.</p>

</div>

</footer>

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="container">

<div class="row">

<div class="col-sm-8 py-4">

<h4 class="text-white">About</h4>

<p class="text-muted">Add some information about the album below, the author, or any other background context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off to some social networking sites or contact information.</p>

</div>

<div class="col-sm-4 py-4">

<h4 class="text-white">Contact</h4>

<ul class="list-unstyled">

<li><a href="#" class="text-white">Follow on Twitter</a></li>

<li><a href="#" class="text-white">Like on 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="container d-flex justify-content-between">

<a href="#" class="navbar-brand">Album</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.

<section class="jumbotron text-center">

<div class="container">

<h1 class="jumbotron-heading">Album example</h1>

<p class="lead text-muted">Something short and leading about the collection below—its contents, the creator, etc. Make it short and sweet, but not too short so folks don't simply skip over it entirely.</p>

<p>

<a href="#" class="btn btn-primary">Main call to action</a>

<a href="#" class="btn btn-secondary">Secondary action</a>

</p>

</div>

</section>

Cria um ficheiro chamado footer.blade.php para o rodapé.

<footer class="text-muted">

<div class="container">

<p class="float-right">

<a href="#">Back to top</a>

</p>

<p>Album example is © Bootstrap, but please download and customize it for yourself!</p>

<p>New to Bootstrap? <a href="../../">Visit the homepage</a> or read our <a href="../../getting-started/">getting started guide</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.

<!-- Bootstrap core JavaScript

================================================= -->

<!-- Placed at the end of the document so the pages load faster -->

<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:

criar ficheiros de vistas

É 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:

@extends('layout.mainlayout')

@section('content')

<div class="album text-muted">

<div class="container">

<div class="row">

<h1>This is a demo text</h1>

<p>Write any text to fill spaces</p>

</div>

</div>

</div>

@endsection

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 () {

return view('demo');

});

Agora executa a aplicação usando o URL de teste. Verás o modelo Album Bootstrap integrado na tua aplicação.

álbum bootstrap template

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('my-home', 'HomeController@myHome');

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;

use Illuminate\Http\Request;

use App\Item;

class HomeController extends Controller

{

/**

* Create a new controller instance.

*

* @return void

*/

public function __construct()

{

}

/**

* Show the application dashboard.

*

* @return \Illuminate\Http\Response

*/

public function myHome()

{

return view('myHome');

}

/**

* Show the my users page.

*

* @return \Illuminate\Http\Response

*/

public function myUsers()

{

return 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:

  1. default.blade.php
  2. header.blade.php
  3. 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 - Bootstrap Admin Theme</title>

<!-- Bootstrap Core CSS -->

<link href="{!! asset('theme/vendor/bootstrap/css/bootstrap.min.css') !!}" rel="stylesheet">

<!-- MetisMenu CSS -->

<link href="{!! asset('theme/vendor/metisMenu/metisMenu.min.css') !!}" rel="stylesheet">

<!-- Custom CSS -->

<link href="{!! asset('theme/dist/css/sb-admin-2.css') !!}" rel="stylesheet">

<!-- Morris Charts CSS -->

<link href="{!! asset('theme/vendor/morrisjs/morris.css') !!}" rel="stylesheet">

<!-- Custom Fonts -->

<link href="{!! asset('theme/vendor/font-awesome/css/font-awesome.min.css') !!}" rel="stylesheet" type="text/css">

</head>

<body>

<div id="wrapper">

<!-- Navigation -->

<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>

<!-- Bootstrap Core JavaScript -->

<script src="{!! asset('theme/vendor/bootstrap/js/bootstrap.min.js') !!}"></script>

<!-- Metis Menu Plugin JavaScript -->

<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>

<!-- Custom Theme JavaScript -->

<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="container-fluid">

<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">Toggle navigation</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="Search...">

<button type="submit" class="btn btn-white btn-round btn-just-icon">

<i class="material-icons">search</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">dashboard</i>

<p class="d-lg-none d-md-block">

Stats

</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">notifications</i>

<span class="notification">5</span>

<p class="d-lg-none d-md-block">

Some Actions

</p>

</a>

<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">

<a class="dropdown-item" href="#">Mike John responded to your email</a>

<a class="dropdown-item" href="#">You have 5 new tasks</a>

<a class="dropdown-item" href="#">You're now friend with Andrew</a>

<a class="dropdown-item" href="#">Another Notification</a>

<a class="dropdown-item" href="#">Another One</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">person</i>

<p class="d-lg-none d-md-block">

Account

</p>

</a>

<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownProfile">

<a class="dropdown-item" href="#">Profile</a>

<a class="dropdown-item" href="#">Settings</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="logo">

<a href="http://www.creative-tim.com" class="simple-text logo-normal">

Creative Tim

</a>

</div>

<div class="sidebar-wrapper ps-container ps-theme-default" data-ps-id="d8631889-919e-0705-2d4b-159fdbdfe8cd">

<ul class="nav">

<li class="nav-item active  ">

<a class="nav-link" href="./dashboard.html">

<i class="material-icons">dashboard</i>

<p>Dashboard</p>

</a>

</li>

<!-- More list items... -->

</ul>

</div>

<div class="sidebar-background" style="background-image: url(../assets/img/sidebar-1.jpg) "></div>

</div>
Share your opinion in the comment section. COMMENT NOW

Share This Article

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.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Quer experimentar a plataforma Cloudways em todo o seu esplendor?

Faça um tour guiado GRATUITO pela Cloudways e veja por si mesmo como é fácil gerenciar seu servidor e suas aplicações na principal plataforma de hospedagem em nuvem.

Iniciar mi recorrido