Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
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: 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 String

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

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

Quantidade 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];
Escreva um programa C# que preencha o segundo vetor de forma que a soma dos respectivos elementos individuais de cada vetor seja igual a 30.

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
Resposta/Solução:

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 DatabaseMetaData

Quantidade 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

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
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.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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