MVC em PHP: CRUD, paginação e variáveis de Ambiente - Série MVC em PHP - Parte 3

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ม.ค. 2025

ความคิดเห็น • 57

  • @matheus_19625
    @matheus_19625 หลายเดือนก่อน

    Quem estiver problemas com as variáveis de ambiente com vários [FATAL ERROR] como eu tive por volta dos 17:30. Então, eu percebi que o arquivo .env NÃO DEVE TER LINHAS EM BRANCO, apenas comentários. Assim que eu removi as linhas em branco o erro em "Environment::load(__DIR__.'/../');" parou de aparecer.

  • @307Kon1
    @307Kon1 10 หลายเดือนก่อน +2

    Olá. Passando aqui para agradecer ao William por esse projeto, tem me ajudado muito a aprender esses conceitos em PHP.
    Uma dúvida:
    Estou conseguindo acompanhar a playlist até essa aula sem erros, mas aconteceu algo que não sei como explicar como aconteceu.
    Em 1:08:10 é configurada a paginação para apresentar a página atual e, no vídeo, o botão da respectiva página muda sua cor de fundo para azul. Eu copiei exatamente a mesma implementação mas quando eu clico ou atualizo a página, a cor de fundo continua branca.
    Imagino que seja algo no Bootstrap.
    Obs.: Eu fiz questão de mudar todos os nomes das variáveis para português, mas mesmo mudando todos os "paginacao" para "pagination", nada mudou.
    Se o @WDEV ou alguém da comunidade puder me ajudar, já agradeço.
    Imagino que isso não deve prejudicar o andamento do projeto, então vou seguir adiante.
    Obrigado pela atenção e bom aprendizado a todos nós ✌🏻.

  • @lionguard2024
    @lionguard2024 3 หลายเดือนก่อน +1

    Muito bom, parabéns pelo conteúdo.
    Existe um get que posso fazer do projeto que eu possa estudar?

  • @JOKACWB
    @JOKACWB 3 ปีที่แล้ว +3

    Excelente didatica, estou vendo o curso para fazer uma API REST e conhecer mais sobe rotas, mas vou ver toda essa série vale a pena cada minuto.

  • @danilorodrigues87
    @danilorodrigues87 7 หลายเดือนก่อน

    Conteudo muito top!!!

  • @NilsinhoAndradePessim
    @NilsinhoAndradePessim 2 ปีที่แล้ว

    olá, estou gostando muito dos vídeos, show de bola.

  • @messiasgalvan612
    @messiasgalvan612 3 ปีที่แล้ว

    Parabéns pelo conteúdo!!!
    Estou conseguindo tirar muitas duvidas, tanto sobre MVC e tanto sobre as rotas em PHP.
    Muito obrigado!! 🤌🤌🤌

  • @flaviokowalske
    @flaviokowalske 11 หลายเดือนก่อน

    Caso eu queira entender como você construiu a library database-manager, existe uma série ou vídeo no seu canal que mostre, assim como você fez com a dot-env?

  • @msmarins
    @msmarins 6 หลายเดือนก่อน

    Rapaz, conteúdo espetacular! Acompanhei tudo perfeitamente. Só fiquei com uma questão: no cadastro, as informações do POST "Persistem" na instancia de Request e se eu atualizar o navegador, ele cadastra novamente. Coloquei um unset($_POST) no início do método get em Router.
    Assim:
    public function get($route, $params = [])
    {
    unset($_POST)
    return $this->addRoute("GET", $route, $params);
    }
    Aqui funcionou, mas não sei se isso gera algum outro problema.

  • @danielrocha2167
    @danielrocha2167 ปีที่แล้ว

    Sua aulas são maravilhosa meus parabéns, mas tenho uma dúvida como eu poderia alterar a Class Request para poder fazer upload de arquivos, single e multiplos?

  • @brunobmorais
    @brunobmorais 3 ปีที่แล้ว +2

    Parabéns William pelo vídeo e didática. Vou deixar uma sugestão de video., Seria muito bom se fizesse uma sessão sobre docker

    • @wdevoficial
      @wdevoficial  3 ปีที่แล้ว +1

      Olá, Bruno!
      Muito obrigado pelo feedback e indicação!
      Logo logo sai o vídeo de docker hehe

  • @lorran6608
    @lorran6608 2 ปีที่แล้ว +3

    Olá William tudo bem?
    Estou com um problema aqui com a URL quando eu clico nos links de paginação a URL fica assim:
    depoimentos?url=depoimentos&page=1
    o correto é assim:
    depoimentos?page=1
    Sabe me dizer aonde pode estar o erro?

    • @caiomartins1794
      @caiomartins1794 3 หลายเดือนก่อน

      conseguiu solucionar? Tá acontecendo o mesmo aqui

  • @wagnercastrosantos4939
    @wagnercastrosantos4939 10 หลายเดือนก่อน

    Exelente conteúdo. Estou tentando fazer um select para um nome específico em uma tabela clientes e não estou conseguindo passar a clausula where nome = $nome. Alguém teria alguma sugestão: Desde já obrigado.

  • @jairosousa8148
    @jairosousa8148 ปีที่แล้ว

    Ei professor, bom dia.
    Cadê você?
    Sentindo falta dos vídeos. 😅

  • @pedrobatistalopes2833
    @pedrobatistalopes2833 3 ปีที่แล้ว +1

    Muito bom!

  • @henriquegimenez6957
    @henriquegimenez6957 3 ปีที่แล้ว

    Excelente!

  • @moziplay
    @moziplay ปีที่แล้ว

    olá, ótimo video, na aula anterior você usou preg_match_all($patternVariable, $route, $matches) para validar uma expressão, mas a função preg_match_all() ela espera um string e estamos passando um array ($route), tem alguma forma de corrigir isso?

  • @lucasbecker3134
    @lucasbecker3134 3 ปีที่แล้ว

    Muito obrigado irmão!!

  • @boninho1415
    @boninho1415 3 ปีที่แล้ว +1

    Ótimo video. Parabéns pela excelente didática. Me diz uma coisa, no caso de termos, por exemplo, 100 ou mais itens na paginação, como devemos fazer para limitar a exibição desses botões de paginação?

    • @wdevoficial
      @wdevoficial  3 ปีที่แล้ว +1

      Olá, Boninho! Tudo bem?
      A sua pergunta é muito boa e vou trazer a explicação prática dela no vídeo extra da série que vai sair neste sábado dia 15/05.
      Muito obrigado pela contribuição hehe

    • @boninho1415
      @boninho1415 3 ปีที่แล้ว +1

      @@wdevoficial eu que agradeço.

  • @flaviohenriquecarvalhoortiz
    @flaviohenriquecarvalhoortiz 3 ปีที่แล้ว

    estou tendo problemas com a conexão quando chega em "34:02" no video
    ERROR: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
    Estou usando o Docker com mysql 8, já vi em muitos lugares esse erro.

    • @isaiasbarbosa2567
      @isaiasbarbosa2567 3 ปีที่แล้ว

      tambem estou com esse eror

    • @flaviohenriquecarvalhoortiz
      @flaviohenriquecarvalhoortiz 3 ปีที่แล้ว

      @@isaiasbarbosa2567 Consegui arrumar o erro, por conta da criação do Root dentro do docker a senha vem com outro padrão, o que fiz foi criar um container com o phpMyadmin e criar um usuario com o Metodo de Autenticação Legacy

  • @eusouwagnerdiniz
    @eusouwagnerdiniz 2 ปีที่แล้ว

    Willian, seus pacotes no packagist está quebrado. Não conseguir baixar nenhum dos três que você disponibilizou.

  • @aks-dt-9785
    @aks-dt-9785 2 ปีที่แล้ว

    Alguém sabe como faço para concerta a hora? O meu sai horas diferentes da atual.

  • @ThierriAPrado
    @ThierriAPrado 2 ปีที่แล้ว

    Estou recebendo o erro ERROR: SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected no TIME 34:15 do video

    • @acdona1964
      @acdona1964 ปีที่แล้ว

      Verifique se colocou antes de chamar as getenv
      //CARREGA VARIÁVEIS DE AMBIENTE
      Environment::load(__DIR__ . '/../');

  • @pixaad_promo8606
    @pixaad_promo8606 3 ปีที่แล้ว

    Olá turma!
    Meu deu erro de conexao no time 34:04
    ERROR: SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO)
    variaveis de conexao estao abaixo
    DB_HOST=localhost
    DB_NAME=projeto_mvc
    DB_USER=root
    DB_PASS=minhasenha
    DB_PORT=3306
    Estou usando Laragon

    • @SuperBenjamim10
      @SuperBenjamim10 2 ปีที่แล้ว

      Teu mysql ta informando que não usa senha, retira a senha do mysql

    • @matheusrocate
      @matheusrocate 2 ปีที่แล้ว

      Olá, verifique se você não esqueceu de carregar as variáveis de ambiente, atente-se ao arquivo app.php, reveja o vídeo (a parte onde está sendo criado as variáveis) e preste atenção se você colocou de fato os scripts na ordem e forma correta. O erro pode estar sendo gerando por conta dos getenv estarem retornando null, ou seja um valor booleano, sendo que era para retornar uma string. Resumindo, na instância de Database::config se por acaso as variáveis de ambiente não forem carregadas (elas iram retornar null) correctamente, quando for solicitado a conexão com o banco e por assim dizer, for perguntado qual o host, usuário, senha e outros dados necessários para a conexão com o servidor ele não encontrará nada, pois será interpretado da seguinte maneira:
      bool(false) bool(false) bool(false) bool(false) bool(false)
      quando na verdade precisaria retornar (o conteúdo das variáveis está associada ao meu servidor, no seu caso pode ser diferente, mas a lógica é a mesma):
      string(9) "localhost" string(3) "mvc" string(4) "root" string(0) "" string(4) "3306"
      NOTA: Dei um foreach em um array de teste que armazenava as variáveis de ambiente, e para exibir os valores do array utilizei um var_dump($value); para que fosse possível ver cada variável de ambiente.

    • @luizfelipesantos7058
      @luizfelipesantos7058 8 หลายเดือนก่อน

      estou com o mesmo erro! Desisti do curso.

  • @luigiraynel8718
    @luigiraynel8718 3 ปีที่แล้ว

    Muito obrigado pelo vídeo William! Essa série é uma obra de arte 👏👏
    Estou batendo a cabeça tentando resolver um problema de que quando dou subir no formulário de depoimentos para cadastrar o depoimento, o php retorna o erro de que não encontro a classe Testimony da Model. Conferi por mais de uma hora e não encontrei erro. Poderia me ajudar?

  • @magnodecastroesousa4857
    @magnodecastroesousa4857 3 ปีที่แล้ว

    Quando adiciono a função:
    $url = $request->getRouter(); retorna o erro 500, acontecia o mesmo com o:
    $url = $request->getQueryParams;, aí eu fiz a instância direta do banco e funcionou, mas agora não estou conseguindo pensar numa saída...

  • @cesaraugusto1022
    @cesaraugusto1022 3 ปีที่แล้ว

    Olá, Antes de tudo meus parabéns pelo mix, até agora está maravilhoso. Tenho apenas uma duvida, quando faço a instância de paginação ele me retorna esse erro
    "Fatal error: Uncaught Error: Class 'App\Controller\Pages\Pagination' not found in P:\xampp\htdocs\MVCPHP\PARTE3\app\Controller\Pages\Testimony.php:28"
    e meu código está assim
    "//INTÂNCIA DE PAGINAÇÃO
    $obPagination = new Pagination($quantidadetotal, $paginaAtual, 1);
    //RESULTADOS DA PÁGINA
    $results = EntityTestimony::getTestimonies(null, 'id DESC', $obPagination->getLimit());"
    creio que igual ao seu, correto? Sabe me dizer porque?

    • @DanielVieiraLopes
      @DanielVieiraLopes 3 ปีที่แล้ว

      Verifica se a classe Pagination.php está na pasta de Controller. Esse erro pode ser devido ao namespace estar diferente do destino da classe

    • @valmyrtavares4297
      @valmyrtavares4297 2 ปีที่แล้ว

      Oi Cesar
      Eu também cheguei no mesmo ponto e acho que muita gente vai chegar nesse mesmo erro. O endereço do namespace não é encontrado. Eu tenho uma solução que funcionou. Vai na pasta vendor/willian-costa/database/manager/src/Pagination.php e pega o arquivo Pagination.php do jeito que ele está.
      Faz uma pasta com o nome que vc quiser dentro da pasta app. Eu dei o nome da pasta de app/Paginando/Pagination.php e cola esse arquivo do willian costa dentro dessa pasta que vc fez e que no meu caso eu dei o nome de Paginando. Ai abre o Pagination.php e troca o namespace para namespace App\Paginando; e lá no controller Testimony faz o use use \App\Paginando\Pagination;
      Dai pra frente segue igual. Ele volta a reconhecer o namespace do Pagination.php
      A questão toda é que ele não está conseguindo achar o arquivo do William e dessa forma ele passa a encontrar.
      Um ponto que eu gostaria de ressaltar aqui. É que pelo menos os primeiros 10 comentários de todos os videos do William são de elogios incondicionais. O que atrapalha muito quem quer de fato resolver um erro como esse. Não que o Willian não mereça tais elogios. Eu sou super fã do trabalho dele e dos videos que ele publica no canal. Já aprendi muito com ele. E acho que o conteúdo dele de php é muito superior a muitos cursos pagos de php que eu já encontrei, como o do B7web por exemplo. O conteúdo do Willian é muito mais sério e superior.
      Mas tenho que pontuar aqui, que acho que o próprio Willian deveria se manifestar nas dúvidas dos inscritos do canal, e propor alguma solução. Eu já tenho mais experiência e sei me virar melhor. Mas sei o quanto é triste quando estamos seguindo um conteúdo, super contentes com o nosso desenvolvimento e de repente paramos em uma dúvida sem conseguirmos ir pra frente.
      Acho que o responsável pelo canal deveria no mínimo se manifestar, dando alguma alternativa. Afinal de contas a coisa parou no momento que usamos os arquivos dele. Acho que é uma falta pequena perto do excelente conteúdo do canal, sou fã do Willian Costa e também quero parabenizar o trabalho.
      Mas exatamente pelo excelente feito é que não se pode falhar em uma coisa tão pequena.

  • @matheuscastroks
    @matheuscastroks ปีที่แล้ว

    nao consegui instalar dot-env :(

  • @xbili
    @xbili 2 ปีที่แล้ว

    Opa.. ótimos videos desta séria MVC... na parte da paginação me surgiu uma questão..
    possui muitos registros e o número de quantidade de páginas ficou com muitos botões..
    Teria como exemplo: "1 | 2 | 3 | 4 > ultima"
    ou seja.. exibir máximo de 4 botões e por opção de ir mais para frente, ou última página.. tambem primeira página..
    Não mostrar todos as páginas..

    • @andersonluiz2322
      @andersonluiz2322 2 ปีที่แล้ว

      Realizei uma adaptação no código que faz mais ou menos isso que vc citou.

  • @gustavoengel1527
    @gustavoengel1527 3 ปีที่แล้ว +1

    Oi Willam boa noite.
    Antes de mais nada meus parabéns cara. vc me motiva cada vez mais a querer aprender
    Tira uma dúvida?
    No meu while ele só retorna 1 valor :(

    • @wdevoficial
      @wdevoficial  3 ปีที่แล้ว

      Olá, Gustavo. Tudo bem?
      Poderia postar a parte do seu código aqui, por favor?
      E muito obrigado pelo feedback :D

  • @rodrigosouzabaleeiro9920
    @rodrigosouzabaleeiro9920 2 หลายเดือนก่อน

    ERROR: SQLSTATE[42601]: Syntax error: 7 ERROR: LIMIT #,# syntax is not supported LINE 1: SELECT * FROM depoimentos ORDER BY id DESC LIMIT 0,1 ^ HINT: Use separate LIMIT and OFFSET clauses.

  • @lucassena4282
    @lucassena4282 3 ปีที่แล้ว

    s2

  • @stand8103
    @stand8103 3 ปีที่แล้ว +2

    Ô William meu amigo. Até o final do segundo video eu consegui seguir tudo conforme você ensinou. Mas esse terceiro video onde você disse que ganhou tempo e resolveu inserir arquivos no projeto e passou dois links para a gente se virar sozinho não deu certo não. Para as pessoas experientes que sabem manipular esses pacotes e diretórios acho que conseguiram, mas eu, lamento informar que desisti, meu caro, porque virou uma salada meu htdocs com diretorio do MVC outro do william e outro do environment. Muito confuso mesmo. Você tem muito conhecimento sim, domina de fato o assunto, certamente deve ser elogiado pelo conhecimento, mas precisa deixar claro no início do vídeo que o seu conteúdo serve apenas para quem já está há muito tempo trabalhando com php e não se destina a quem esta aprendendo. A partir desse terceiro vídeo a sensação é frustração total. Um sentimento de incapacidade, de tempo perdido com atenção total nos dois primeiros vídeos e depois de ver por mais de 4 vezes esse terceiro vídeo e não entender o que você fez e não conseguir consertar, entende?

    • @carlossergio6523
      @carlossergio6523 3 ปีที่แล้ว

      ola amigo, vi que parece que você está com problemas em relação ao assunto. olha, essa serie de videos que ele fez, na mnh visão se aplica a quem já está familiarizado com o php. eu msm estudo vai fazer 1 ano, por isso consigo entender a maior parte das coisas que ele faz, é questão de vivencia, sabe. se tu ta começando do zero agr, recomendo assistir videos sobre php em si, e n sobre padrões de arquitetura, nem nd muito especifico, pois vc necessita da base pra dps poder estudar esses assuntos. Em questão dos diretórios "willian\database" e o outro sobre variaveis de ambiente se tratam de dependências, que são códigos que vão agregar na sua aplicação e ele utiliza-rá-los, eles foram instalados através de um gerenciador de dependência, chamado composer, vc terá que ter ele instalado, é como se você fizesse o download dos códigos dele e colocasse em um diretório dentro do seu projeto, porem o composer faz isso automático pra vc. no seu caso acho q conseguiu baixá-los porem pelo que entendi eles n estão dentro do diretório do projeto mvc, nesse caso basta vc movê-los para dentro e chamá-los com o "use".

    • @stand8103
      @stand8103 3 ปีที่แล้ว

      @@carlossergio6523 Obrigado Carlos, realmente eu não sou um expert no assunto, mas eu disse no meu questionamento, que o público alvo do video deveria ser indicado no primeiro vídeo, eu conheço bem o composer e nunca tive dificuldade com esse gerenciador, mas houve uma alteração de rumo entre as duas primeiras aulas e a terceira, entende? Foi isso que eu disse, me desculpe se entendeu errado. Eu disse que as duas primeiras aulas foram perfeitas até para leigos, que não é o meu caso e que essa
      terceira aula ele não deixou claro o passo a passo (que estava perfeito) nas duas aulas anteriores e não mencionou em momento algum que deveria ter uma pasta chamada william-costa dentro de conteúdo das duas aulas anteriores e foi exatamente pela ausência dessa informação e por confiar que o composer criaria a pasta que eu segui o procedimento informado pelo William. Só que não, o composer não criou a pasta no caminho correto e a incluiu em outro local e isso embaralhou todo o conteúdo que estava perfeito, não dando nenhuma outra possibilidade a não ser assistir as quase 3 horas de vído das duas primeiras aulas de novo, para reconstruir todo o conteúdo e assistir o terceiro video, dessa vez, considerando a informação equivocada do William e criando o tal diretório!

    • @carloscaf6338
      @carloscaf6338 ปีที่แล้ว

      Cara. Brasileiro não tem compromisso com ensinar. Canal abandonado.

  • @leandrohigino6032
    @leandrohigino6032 2 ปีที่แล้ว

    Bom dia William! Parabéns pelas aulas, Queria tirar uma dúvida!
    Comecei a seguir a terceira aula, e quando vou instalar composer require william-costa/dot-env mesmo o php sendo na versão 7.4.26 no caso do meu wamp ele me da a mensagem que minha versão do php é inferior, você poderia dar uma luz?

  • @BlogOBnews
    @BlogOBnews 9 หลายเดือนก่อน

    William você é top, didática superior a tudo que tenha encontrado e grátis, mano estou passando por um erro : Fatal error: Uncaught ValueError: putenv(): Argument #1 ($assignment) must have a valid syntax in C:\xampp\htdocs\mvc\vendor\william-costa\dot-env\src\Environment.php:20 => parece ser no dot-env : na linha 20 do Environment tem esse trecho : putenv(trim($line));

    • @GaLonghi01
      @GaLonghi01 หลายเดือนก่อน

      salve mano, sei que faz tempo mas você conseguiu resolver?