Jump to content
Fórum Script Brasil
  • 0

Undefined type 'Session' Intelephense (1009)


Frank K Hosaka

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...