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: 2539 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: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; ...... 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: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class AlunoController extends Controller{ // método ou ação para cadastrar um novo 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: <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\AlunoController; ...... 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: | |
Python ::: Dicas & Truques ::: Lista (List) |
Como adicionar itens ao final de uma lista de inteiros em Python usando a função append()Quantidade de visualizações: 8199 vezes |
O método append() é usado quando queremos adicionar um novo elemento no final de uma list Python. Esta função aceita qualquer tipo de elemento, ou seja, uma string, um number, um object, etc. Veja um exemplo de seu uso no trecho de código a seguir: """ Este exemplo mostra como adicionar itens ao fim de uma lista de inteiros. """ def main(): # cria uma lista vazia valores = [] # início do laço for for i in range(1, 6): valor = int(input("Informe um inteiro: ")) ...... Ao executar este código Python nós teremos o seguinte resultado: Informe um inteiro: 7 Informe um inteiro: 2 Informe um inteiro: 9 Informe um inteiro: 3 Informe um inteiro: 6 Valores na lista: [7, 2, 9, 3, 6] |
C# ::: Dicas & Truques ::: Data e Hora |
Como exibir a data atual completa e as horas no formato curto em C# usando o sinalizador {0:f} da função Format() da classe StringQuantidade de visualizações: 11143 vezes |
Nesta dica mostrarei como usar o sinalizador {0:f} da função Format() da classe String para exibir a data completa e as horas no formato curto, algo como "quarta-feira, 16 de março de 2022 11:19". Veja o código C# completo: using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a data e hora atual DateTime dataHora = DateTime.Now; // vamos exibir a data completa e as hora no formato curto ...... Ao executar este código C# nós teremos o seguinte resultado: Hoje é: quarta-feira, 16 de março de 2022 11:19 Veja que aqui eu mostrei a data e as horas diretamente na saída do programa. Podemos usar uma variável intermediária também. Veja: using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a data e hora atual DateTime dataHora = DateTime.Now; // vamos guardar a data completa e as hora no formato curto string dataHoraStr = String.Format("{0:f}", dataHora); ...... |
C# ::: LINQ ::: LINQ to Objects |
Como retornar o último elemento de um array de strings em C# usando a função Last() do LINQQuantidade de visualizações: 878 vezes |
Nesta dica mostrarei um exemplo bem simples do uso do método Last() do LINQ (Language-Integrated Query) do C# para retornar o último elemento de um vetor de strings. É claro que este método funciona com qualquer coleção, mas um exemplo simples nos ajudará a entender melhor o seu funcionamento. Em outras dicas eu aprofundo o uso deste método. Vamos ao código então. Veja: using System; using System.Linq; namespace Estudos { class Principal { static void Main(string[] args) { // vamos construir um vetor de strings string[] linguagens = {"Java", "Python", "PHP", "Ruby"}; // vamos obter o último elemento do vetor ...... Ao executar este código C# nós teremos o seguinte resultado: A última linguagem é: Ruby Fique atento ao fato de que o método Last() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas. Veja o resultado ao chamarmos este método em um vetor vazio: System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.ThrowHelper.ThrowNoElementsException() at System.Linq.Enumerable.Last[TSource](IEnumerable`1 source) at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11 |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C# - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30Quantidade de visualizações: 102 vezes |
Pergunta/Tarefa: Considere os seguintes vetores: // dois vetores de 5 inteiros cada int[] a = { 50, -2, 9, 5, 17 }; int[] b = new int[5]; Sua saída deverá ser parecida com: Valores no vetor a: 50 -2 9 5 17 Valores no vetor b: -20 32 21 25 13 Veja a resolução comentada deste exercício usando C#: using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // dois vetores de 5 inteiros cada int[] a = { 50, -2, 9, 5, 17 }; int[] b = new int[5]; // vamos preencher o segundo vetor de forma que a soma dos // valores de seus elementos seja 30 for (int i = 0; i < b.Length; i++) { b[i] = 30 - a[i]; } // vamos mostrar o resultado ...... |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter uma lista das funções de strings e caracteres suportadas pelo MySQL usando o método getStringFunctions() da interface DatabaseMetaDataQuantidade de visualizações: 5130 vezes |
Em algumas situações gostaríamos de, via código, obter uma lista das funções de strings e caracteres suportadas pelo MySQL. Para isso podemos usar o método getStringFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getStringFunctions() de forma a retornar a lista de funções de string e caracteres separadas por vírgulas. Veja um trecho de código Java no qual listamos todas as funções de strings e caracteres suportados no MySQL 5.0: package estudosbancodados; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; public class EstudosBancoDados{ public static void main(String[] args) { // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData DatabaseMetaData dbmd = conn.getMetaData(); // vamos obter a lista de funções de strings e caracteres disponíveis ...... Ao executarmos este código teremos o seguite resultado: ASCII BIN BIT_LENGTH CHAR CHARACTER_LENGTH CHAR_LENGTH CONCAT CONCAT_WS CONV ELT EXPORT_SET FIELD FIND_IN_SET HEX INSERT INSTR LCASE LEFT LENGTH LOAD_FILE LOCATE LOCATE LOWER LPAD LTRIM MAKE_SET MATCH MID OCT OCTET_LENGTH ORD POSITION QUOTE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SOUNDEX SPACE STRCMP SUBSTRING SUBSTRING SUBSTRING SUBSTRING SUBSTRING_INDEX TRIM UCASE UPPER |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Java - Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para Engenharia |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |