Você está aqui: Laravel ::: Dicas & Truques ::: Controller |
O que são Controllers em Laravel? - Como criar seu primeiro Controller em Laravel - Rotas, Controllers e ViewsQuantidade 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 1Quantidade 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 ComposerQuantidade 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 LaravelQuantidade 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 |
Software 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 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 |