![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%)
|
może to dlatego że mam kontroler w database, ale jak inaczej mam sprawdzać czy jest zalogowany -- nic nie działa, nie wiem jak sprawdzać inaczej użytkownika... Dlatego z tym pieronym frameworkiem nie pracowałem... |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Nie uzywam laravel ale robiles wg instrukcji na tej stronie:
https://laravel.com/docs/9.x/authentication ? Zalogowales wpierw uzytkownika ze probujesz go pobrac? No i czemu w tym kontrolerze robisz jakis middleware? To wydaje sie byc zbedne. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%)
|
A jesteś w ogóle zalogowany w aplikacji?
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 5 Dołączył: 20.05.2019 Ostrzeżenie: (0%)
|
Troll post, ale na 100% nie jest zalogowany w sesji w której sprawdza i dostaje null'a. W Laravelu są też różne guardy uwierzytelniania, defaultowe to web i api, więc jak źle testowane to też zwróci nulla.
https://laravel.com/docs/9.x/authentication...ication-methods
Najlepiej wrzuć sobie to do route w web dla testu i zobaczysz, że działa. Ten post edytował netir 13.09.2022, 11:44:15 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 650 Pomógł: 16 Dołączył: 5.07.2010 Skąd: Ściśle Tajne Ostrzeżenie: (0%)
|
laravel jest bardziej pozabezpieczany przez co nigdy nie chciało mi się go używać... nie ma dostępu bezpośrednio w funkcjach do id użytkownika, albo robię coś nie tak...
w __construct klasy muszę wywołać funkcję gdzie można sprawdzić id:
a z niej dopiero funkcję ktorą chcę wywołać... naprawdę to jedyny sposób aby to wykonać? nieraz tworzę funkcję w której naprawdę potrzebuję id użytkownika |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%)
|
W każdym miejscu masz Auth::id().
Możesz zrobić komponent który będzie sam w sobie sprawdzał użytkownika i generował właściwe menu dla niego. https://laravel.com/docs/9.x/blade#components |
|
|
|
Post
#7
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
To co napisal viking to oczywiscie prawda. Ale jakby jakims cudem to nie istnialo to po to wymyslono operator ?? by uniknac takich kodow co tu masz:
Caly ten kod powyzej mozna zapisac poprostu tak:
I juz. Ja dodatkowo zamiast false przypisal do id null, bo tak naprawde to powinno byc null gdy id nie istnieje a nie false ;) |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%)
|
@nospor z tym trzeba uważać bo łatwo można się się potem na tym wyłożyć i trzeba wtedy rozumieć co się miało na myśli pisząc taka linie (IMG:style_emoticons/default/wink.gif) powinno być po prostu sprawdzenie czy user nie jest nullem i jak jest return z funkcji albo w php 8 nullsafe operator użyć (IMG:style_emoticons/default/wink.gif)
bo to ma ukryte efekty uboczne w postaci takiej że ten operator sprawdza, czy wartość istnieje i nie jest nullem i jak jest to druga cześć funkcji a tam z nulla robimy nulla (IMG:style_emoticons/default/wink.gif) teraz wiemy czemu tak ale za pól roku już trzeba będzie się zastanawiać czemu tak, albo inny programista na to spojrzy w miedzy czasie (IMG:style_emoticons/default/smile.gif) Ten post edytował com 14.09.2022, 11:25:18 |
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Ja tam nie mam problemu ze zrozumieniem takiej linii.
Ok, mozna napisac i tak jak wspomniales $id = $this->user?->id; Aczkolwiek, ze dla mnie jest to jeszcze dosc nowa konstrukcja, taka linia jest dla mniej mniej zrozumiala. Ale to juz kwestia przyzwyczajenia (IMG:style_emoticons/default/wink.gif) Cytat i jak jest to druga cześć funkcji a tam z nulla robimy nulla No i? Juz nie popadajmy w paranoje (IMG:style_emoticons/default/wink.gif) |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%)
|
Jasne że Ty nie, ale nie każdy jest na takim poziomie jak my (IMG:style_emoticons/default/wink.gif)
Pewnie, nie chodzi o popadanie w paranoje, bardziej o fakt że na takim kodzie z ukrytym efektem ubocznym można się przejechać jak nie wie co sie robi (IMG:style_emoticons/default/wink.gif) bo jak się robi świadomie to żaden problem (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#11
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Niech ci bedzie.
W sumie nawet $id = $this->user?->id; wyglada ladniej :D Tu trzeba miec tylko swiadomosc ze nullsafe nie dziala na tablicach podczas gdy ?? zadziala ladnie na tablicach. Skolei na nullsafe dziala na metodach a ?? juz nie :D Takze tak czy siak jedno czy drugie trzeba swiadomie uzywac |
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 09:29 |