Você está aqui: Laravel ::: Dicas & Truques ::: Controller

O que são Controllers em Laravel? - Como criar seu primeiro Controller em Laravel - Rotas, Controllers e Views

Quantidade de visualizações: 2879 vezes
Já sabemos que o Laravel é um framework MVC (model, view, controller). Nesta arquitetura, o usuário interage com a view, que por sua vez aciona o controller, que manipula o modelo (model), e atualiza a view, e o ciclo se repete.

Nesta dica mostrarei como criar o seu primeiro Controller em Laravel. Veremos também como acionar seus métodos por meio da URL da aplicação e carregar a view adequada a essa ação.

A forma mais comum de se criar um controller no Laravel, é usando o comando make:controller do Artisan. Assim, tomarei como exemplo a aplicação escola que criamos em dicas anteriores. Abra uma janela de terminal e digite os comandos a seguir:

C:\Users\Osmar>cd C:\xampp\htdocs\escola
C:\xampp\htdocs\escola>php artisan make:controller AlunoController

Pressione Enter e você verá a mensagem "Controller created successfully." ser exibida. Agora vá até o diretório C:\xampp\htdocs\escola\app\Http\Controllers e verá que um arquivo AlunoController.php foi criado. Abra-o e teremos o seguinte código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AlunoController extends Controller{
  //
}

?>

Note que nosso controller herda de Controller, mas até o momento não faz nada, ou seja, não executa nenhuma ação. Vamos modificá-lo para o código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AlunoController extends Controller{
  // método ou ação para cadastrar um novo aluno
  function cadastrar(){
    // encaminha para a view
    return view('cadastrar_aluno');
  }
}

?>

Veja que agora temos uma função cadastrar() que, quando chamada, direcionará para a view cadastrar_aluno. Vamos agora criar a rota que nos permitirá chamar a função deste controller a partir da URL. Vá até o diretório C:\xampp\htdocs\escola\routes, localize o arquivo web.php e adicione ou modifique-o para o código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AlunoController;

Route::get('/cadastrar_aluno', [AlunoController::class, 
  'cadastrar']);

?>

Pronto. Agora abra o seu navegador na URL http://localhost/escola/public/cadastrar_aluno e veja o resultado. É claro que você verá uma mensagem:

InvalidArgumentException
View [cadastrar_aluno] not found.
http://localhost/escola/public/cadastrar_aluno
cadastrar_aluno was not found.
Are you sure the view exists and is a .blade.php file?

Esta mensagem indica que a view não pôde ser encontrada. Basta ir até o diretório C:\xampp\htdocs\escola\resources\views e criar um arquivo chamado cadastrar_aluno.blade.php e acessar a URL novamente.

Esta dica foi escrita e testada no Laravel 8.

Link para compartilhar na Internet ou com seus amigos:

Laravel ::: Artigos e Tutorias ::: CRUD - CREATE, READ, UPDATE, DELETE

Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 1

Quantidade de visualizações: 6934 vezes
Uma das maiores dificuldades de quem está aprendendo a desenvolver aplicações em Laravel é encontrar livros e tutoriais realmente direcionados para os iniciantes. A documentação do framework Laravel é muito consistente e apurada, mas não nos oferece um caminho progressivo para desenvolver do zero uma aplicação que vai de encontro ao anseio daqueles que querem desenvolver códigos Laravel com conexão à banco de dados, principalmente com o MySQL (ou MariaDB).

Nesta série de tutoriais eu mostrarei como criar um CRUD completo em Laravel e MySQL, usando o XAMPP (PHP, MySQL e Apache Web Server). CRUD é uma abreviação para CREATE, READ, UPDADE e DELETE, ou seja, as quatro operações que comumente usamos em cadastros de clientes, produtos, etc.

Então, sem mais atrasos, vamos colocar a mão na massa. Comece verificando se você já tem o Laravel instalado. Caso não tenha, aqui mesmo no site você encontrará instruções para fazer a instalação. Certifique-se também de que o seu XAMPP esteja instalado e funcionando corretamente.

Criando a aplicação Laravel

Para começar, vamos criar a aplicação. Daremos a ela o nome de biblioteca e faremos o cadastro de alguns livros. Abra uma janela de prompt e dispare os comandos abaixo:

C:\Users\Osmar>cd C:\xampp\htdocs
C:\xampp\htdocs>composer create-project --prefer-dist laravel/laravel biblioteca

Aguarde um pouco até que a aplicação seja criada e as dependências sejam instaladas. Vá pegar um cafezinho e, quando voltar, verifique se tudo correu bem e vamos progredir.

Hora de criar a base de dados no MySQL

Depois de criada a aplicação Laravel, vamos até o banco MySQL criar a nossa base de dados. Daremos a ela o nome de biblioteca. Você pode criar a base de dados usando o phpMyAdmin, a linha de comando ou sua ferramenta GUI favorita. O passo seguinte é configurar os parâmetros de conexão essa base de dados. Para isso, abra o arquivo .env na raiz do projeto e localize as linhas abaixo (caso não saiba como abrir o arquivo .env, use a opção File -> Open File do Visual Code da Microsoft):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Encontrou as linhas mencionadas? Agora altere-as para as definições abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=biblioteca
DB_USERNAME=root
DB_PASSWORD=osmar1234

É claro que os parâmetros de conexão Laravel + MySQL podem variar do meu exemplo para o seu.

Vamos criar a migração (migration) - Mais café, por favor

Com a base de dados MySQL já criada, vamos criar agora uma tabela chamada livros. Em uma janela de terminal, dispare os comandos abaixo:

C:\xampp\htdocs>cd C:\xampp\htdocs\biblioteca

C:\xampp\htdocs\biblioteca>php artisan make:migration criar_tabela_livros --create=livros
Created Migration: 2021_01_29_141019_criar_tabela_livros

Se tudo correu bem, abra o diretório C:\xampp\htdocs\biblioteca\database\migrations e verá um arquivo chamado 2021_01_29_141019_criar_tabela_livros.php. Abra-o e teremos o seguinte conteúdo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CriarTabelaLivros extends Migration
{
  /**
   * Run the migrations.
   *
   * @return void
  */
  public function up()
  {
    Schema::create('livros', function (Blueprint $table) {
      $table->id();
      $table->timestamps();
    });
  }

  /**
   * Reverse the migrations.
   *
   * @return void
  */
  public function down()
  {
    Schema::dropIfExists('livros');
  }
}
?>

Note que temos uma classe chamada CriarTabelaLivros que extende Migration e, dentro dessa classe, foram criados dois métodos: up(), que permite criar a tabela livros e down(), que permite excluí-la.

Vamos alterar o método up() para a seguinte versão:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public function up()
{
  Schema::create('livros', function (Blueprint $table) {
    $table->increments('id');
    $table->string('titulo');
    $table->string('autor');
    $table->integer('paginas');
    $table->timestamps();
  });
}


Veja que nossa tabela livros será composta de quatro campos: id (chave primária auto-incremento), titulo (varchar), autor (varchar) e paginas (int). O Laravel incluirá dois outros campos: created_at e updated_at para podemos registrar data e hora da criação e alteração dos registros individuais.

Vamos fazer a migração agora?

Agora que já temos a base de dados MySQL criada, configuramos os parâmetros de conexão no arquivo .env e criamos o arquivo de migração, o passo seguinte é rodar a migração. Para isso abra uma janela de terminal e digite o comando a seguir:

C:\xampp\htdocs\biblioteca>php artisan migrate
Migrating: 2021_01_29_141019_criar_tabela_livros
Migrated: 2021_01_29_141019_criar_tabela_livros (63.66ms)

Se olharmos na base de dados agora, veremos que a tabela livros foi devidamente criada. Confira os campos atentamente e faça as alterações que julgar necessárias.

Na parte 2 deste tutorial de CRUD usando Laravel + MySQL, veremos como criar a rota de direcionamento das ações CRUD, o controlador (controller), o model (model) e as views (visões). Até lá e bons estudos.

Leia a parte 2 aqui: Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2


Laravel ::: Dicas de Estudo e Anotações ::: Passos Iniciais

Como efetuar uma instalação do Laravel no Windows usando o Composer

Quantidade de visualizações: 2625 vezes
O Laravel é um framework PHP livre e open-source criado por Taylor B. Otwell para o desenvolvimento de sistemas web que utilizam o padrão MVC (model, view, controller) ou seja, o padrão Modelo-Visão-Controlador. Algumas características proeminentes do Laravel são sua sintaxe simples e concisa, um sistema modular com gerenciador de dependências dedicado, várias formas de acesso a banco de dados relacionais e vários utilitários indispensáveis no auxílio ao desenvolvimento e manutenção de sistemas.

De acordo com uma pesquisa feita em Março de 2015 com desenvolvedores, o Laravel foi listado como o framework PHP mais popular de 2015, seguido pelo Symfony2, Nette, CodeIgniter, Yii2 e outros. Em Agosto de 2015, o Laravel já era o principal framework de projetos PHP no GitHub.

Laravel foi desenvolvido sob o MIT License, tendo seu código-fonte hospedado no GitHub. Atualmente encontra-se na versão 7.3.0.

Como baixar e instalar o Laravel

Para instalar o framework Laravel, direcione o seu navegador para https://getcomposer.org. Esta é a página do Composer, um gerenciador de dependências para o PHP. Para esta dica eu baixei o instalador para o Windows Composer-Setup.exe. Durante o processo de instalação, tenha o cuidado de informar o caminho do php.exe no seu sistema.

Concluída a instalação do Composer, abra uma janela de terminal e digite:

composer

Pressione Enter e você verá um resultado parecido com:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

C:\Users\samsung>composer
...
  why-not              Shows which packages prevent
the given package from being installed.


Isso é um bom sinal. O Composer está pronto e já podemos continuar com a instalação do Laravel. Na mesma janela de terminal, digite o comando abaixo:

composer global require laravel/installer

Aguarde alguns minutos e você terá o seguinte resultado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Changed current directory to 
C:/Users/samsung/AppData/Roaming/Composer
Using version ^3.1 for laravel/installer
...
Writing lock file
Generating autoload files
8 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Para testar se sua instalação do Laravel está pronta para uso, use a mesma janela de terminal ou abra uma nova e digite:

laravel --version

O resultado será algo como Laravel Installer 3.1.0.

Agora, para finalizar, crie um diretório em um local de sua preferência, entre nele e dispare o comando a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

C:\Users\samsung>cd c:\estudos_laravel
c:\estudos_laravel>laravel new cadastroclientes

Pressione Enter, aguarde alguns segundos e então verifique que uma instalação fresquinha do Laravel foi feita no diretório que você indicou, e ela contém, já instaladas, todas as dependências necessárias para a criação do seu projeto.


Laravel ::: Dicas de Estudo e Anotações ::: Passos Iniciais

Primeiros passos no Laravel? Como escrever sua primeira aplicação usando rotas e views - Tutorial básico de Laravel

Quantidade de visualizações: 2078 vezes
Primeiros passos no Laravel? Como escrever sua primeira aplicação usando rotas e views

Entre as perguntas mais frequentes que recebemos estão: Como aprendo Laravel? Onde encontro instruções para criar minha primeira aplicação Laravel? Existe algum tutorial básico de Laravel? Por onde começo a aprender Laravel, Tutorial de Laravel, Laravel para iniciantes, exemplos de Laravel, entre outras.

Nesta dica ajudarei você a dar os primeiros passos. Depois é só seguir as nossas dicas e truques de Laravel para começar a escrever aplicações bem interessantes.

O primeiro passo é instalar o Laravel. Se você ainda não o fez, clique aqui e aprenda a instalar o Laravel agora mesmo.

Para esta dica eu mostrarei como criar a aplicação Laravel e executá-la no servidor Apache Web Server que vem junto com a instalação do XAMPP, que inclui também o PHP e o MySQL (ou MariaDB).

Então, com o Laravel devidamente instalado e o XAMPP (na verdade é o servidor Apache Http Server) já rodando, abra uma janela de terminal e vá até o diretório htdocs do XAMPP:

C:\Users\Osmar>cd C:\xampp\htdocs

Dentro dessa pasta, dispare o seguinte comando:

C:\xampp\htdocs>laravel new escola

Se tudo correr bem, você verá uma série de mensagens indicando a criação da aplicação e o download de algumas dependências. Hora de ir pegar um cafezinho, pois essa operação é um pouco demorada mesmo.

A instalação da aplicação já finalizou? Hora de testar. Abra seu navegador no endereço http://localhost/escola/public e você verá o seguinte resultado:



Veja que o Laravel já criou para nós, automaticamente, uma rota para a página inicial da aplicação e já criou também uma view. Vamos começar entendendo como a rota foi criada. Vá até o diretório C:\xampp\htdocs\escola\routes e abra o arquivo web.php no seu editor favorito. Você verá o seguinte código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php

use Illuminate\Support\Facades\Route;

/*
|-----------------------------------------
| Web Routes
|-----------------------------------------
|
| Here is where you can register web routes for
| your application. These routes are loaded by the
| RouteServiceProvider within a group which
| contains the "web" middleware group. 
| Now create something great!
*/

Route::get('/', function(){
  return view('welcome');
});

Vamos alterar a rota criada automaticamente para a versão abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Route::get('/', function(){
  return view('pagina_inicial');
});

Note que apenas troquei return view('welcome'); por return view('pagina_inicial');. Agora abra o endereço http://localhost/escola/public novamente. Agora teremos um erro:

InvalidArgumentException
View [pagina_inicial] not found.
http://localhost/escola/public/
pagina_inicial was not found.
Are you sure the view exists and is a .blade.php file?

Isso aconteceu porque não temos uma view chamada pagina_inicial. Vamos criá-la agora. Salve o código abaixo com o nome de pagina_inicial.blade.php no diretório C:\xampp\htdocs\escola\resources\views.

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<html>
<head>
  <title>Controle Escolar</title>
</head>
<body>

<h1>Esta é a página inicial</h1>

</body>
</html>

Agora abra o endereço http://localhost/escola/public e teremos o resultado abaixo:



Viu que maravilha? Agora, experimente acrescentar mais uma rota ao web.php:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php

use Illuminate\Support\Facades\Route;

Route::get('/', function(){
  return view('pagina_inicial');
});

Route::get('/cursos', function(){
  return view('nossos_cursos');
});

?>

Abra seu navegador no endereço http://localhost/escola/public/cursos e verá que o Laravel vai reclamar da inexistência da view nossos_cursos.blade.php. Crie essa view e faça o teste novamente. Agora é só criar algo fantástico em Laravel.


Veja mais Dicas e truques de Laravel

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 47 usuários muito felizes estudando em nosso site.