Ir para conteúdo
Fórum Script Brasil
  • 0

Undefined type 'Session' Intelephense (1009)


Frank K Hosaka

Pergunta

Ontem, eu tentei improvisar um código no controlador, e o VS Code disparou um monte de erro. Eu desfiz a minha besteira, mas o VS Code continuou apontando o erro.

Então, eu decidi jogar todo o projeto no lixo, e começar do zero.

Dessa vez, eu comecei pelo login através desse tutorial: Laravel 9 Auth Login and Registration with Username or Email (codeanddeploy.com), esse tutorial é enorme.

Mas o VS Code reclamou dessa linha: 

<?php $data = Session::get('success'); ?>

Pelo Google, eu vi a dica para instalar mais um componente: GitHub - barryvdh/laravel-ide-helper: Laravel IDE Helper, mas não consegui resolver o problema.

Eu também eu vi outra dica no Google, o de desconsiderar o alerta do VS Code. Essa dica funciona, mas não vou conseguir dormir sabendo que existe um código que pode desmoronar toda a arquitetura do Laravel. Assim, a minha única saída foi usar o pouco que eu sei de inglês e pedir ajuda no portal do Laracasts Undefined type 'Session' Intelephense (1009) (laracasts.com)

Acho que o melhor jeito de estudar o Laravel é valorizando as mensagens de erro. Pelo menos foi assim que eu aprendi a usar o PHP. Mas nessa nova aventura, eu finalmente consegui instalar o Bootstrap no Laravel, o tutorial não diz como fazer isso, mas usei a minha intuição bem como corrigi o código do tutorial com a ajuda das mensagens de erro da ferramenta de inspeção do navegador. Esse Bootstrap é muito bom, no começo eu não conseguia nada, mas hoje eu até decorei <table class='table table-sm table-striped'> de tanto digitar a mesma coisa.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Continuei a pesquisa no Google, imaginando que o problema estava nas dependências do Laravel. Segui os tutoriais, mas o VS Code continuava reclamando do mesmo código.

Eu olhei o meu celular e vi uma mensagem do Laracast, o Sinnbeck respondeu assim:

Why not do that in the controller and pass it down as data if it needs to be bound to a variable? Or just use this wherever you need it {{session('success')}} 

Pelo pouco que eu sei de inglês, o Sinnbeck quis dizer que há um erro de lógica, o sucesso da conexão deveria ser passado pelo controlador ou usar a variável {{session('success')}}. Eu logo vi que o marcador {{ }} é coisa lá do Blade Laravel, o PHP não suporta isso. Assim, eu improvisei:

<?php $data = session('success'); ?>

e assim o VS Code parou de reclamar do problema. Testei o código, e tudo continuava funcionando. Nos vários testes que eu fiz no Laravel, ainda sinto muita dificuldade em saber quem é variável local e quem é variável global.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...