Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Laravel] Błędne zrozumienie frameworka
Forum PHP.pl > Forum > Przedszkole
Terrorizer
Cześć,
Pracuję od jakiegoś czasu na frameworku Laravel. Okazuje się ostatnio, że kompletnie nie korzystam z niego tak jak powinienem.
Jak wiadomo widok View odpowiada za wygląd strony i jej podstawową strukturę.
Do tej pory uważałem, że ścieżki Routes, są łącznikiem pomiędzy Widokiem, a Kontrolerem w którym są skrypty php i cała mechanika.

Idąc tym tropem, pisałem html+javascript w widoku, php w kontrolerze, a potem wywoływałem ścieżkę Route poprzez ajax albo redirect i zwracałem z kontrolera wynik skryptu.
Robię to prawie cały czas, nawet jak chcę napisać "echo "hello world", to robię to w kontrolerze np pod funkcją function SayHello(), a potem odpalam ją w widoku ajax() on success return(msg).

Dowiedziałem się dzisiaj, że nie jest to słuszne. Jak zatem łaczyć kontroler z widokiem, aby nie robić z siebie kretyna?
Czytam od kilku godzin wypowiedzi ludzi, którzy twierdzą, że jedno z drugim nie powinno w ogóle mieć nic wspólnego. Jak w takim razie wywołuje się te funkcje i całą funkcjonalnośc php?
Pyton_000
Wg. tego co napisałeś to ten ktoś Ci powiedział totalna bzdurę.

Najlepiej pokaż jakiś kod, bo z opisu wynika w sumie tyle że jest to w miarę poprawne zachowanie.

Definiujesz Route, wrzucasz logikę do kontrolera i render do widoku (To tak w wielkim uproszczonym skrócie).
Terrorizer
Dzięki za słowa pocieszenia, już myślałem, że jestem totalnym gamoniem i w ogóle tego nie zrozumiem biggrin.gif

A skoro mówimy "totalnym skrótem" to przypuścmy:

controller:
  1. public function jakasFunkcja(){
  2. return $wynik
  3. }


routes:
  1. Route::any('/wywolanieFunkcji', 'controller@jakasFunkcja')


I teraz jak najprościej wywołać jakasFunkcja() i otrzymać wynik do views?
Ja robiłem to tak: header('location: /wywolanieFunkcji');
Albo tak: Ajax > on success return $wynik

Czy są jakieś sensowniejsze sposoby? Pisanie całego ajaxa za każdym razem to chyba faktycznie głupota, aby tylko odwołać się do byle jakiej funkcji?

Troche głupio zadawać mi tak podstawowe pytania, ale czasem najbanalniejsze rzeczy przychodzą najtrudniej
Pyton_000
Co rozumiesz przez "Wynik do views?" Chcesz wyrenderować i wyświetlić widok? Czy chcesz ten wyrenderowany widok przezsłać jako odpowiedź do Ajax?
Terrorizer
Chyba nie umiem konkretnie zadać pytania. Będę musiał poprosić o usunięcie wątku biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.