Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak powinien wyglądać kontroler / router ?
snaers
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 24.03.2011

Ostrzeżenie: (0%)
-----


Witam, postanowiłem trochę pobawić się w PHP obiektowo, przyszedł czas na MVC i o ile z modelem i widokiem raczej problemów nie mam to nie wiem jak poprawnie zrobić kontroler.

Mam stronę z:
- show.php
- edit.php
- add.php
- admin.php

Normalnie to na początku wyświetlałem index.php, no i potem linkami, ale to to nie jest kontroler, więc jak to rozegrać?
Na stronie index.php mam wywołać klasę kontrolera? A jak potem w tym pliku kontrolera to zrobić?
Przejrzałem kilka frameworkow, ale to mi jeszcze bardziej namieszało, więc prosiłbym o takie najprostsze naprowadzenie jakby to miało wyglądać.

Pozdrawiam! (IMG:style_emoticons/default/smile.gif)

Ten post edytował snaers 24.03.2011, 22:39:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
snaers
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 24.03.2011

Ostrzeżenie: (0%)
-----


No tak, masz rację. Nie podałem nic, bo nic nie mam. Chce się tego zacząć uczyć, więc chciałem to po kolei robić, a nie naładować kodu, a potem się męczyć z przerabianiem. Napisałem tylko jakie mam pliki. No więc tak:

Struktura plików:
- htdocs
-- index.php
-- /templates/
--- list.php // wyświetla z bazy
--- edit.php // edytuje po id, czyli np edit.php?id=2
--- show.php // show.php?id=2
--- admin.php // to jeszcze nie wiem jak zrobię, ale podaje jako przykład, żebym wiedział jak się do tego odwołać w routingu
-- /model/
--- model.php //laczenie z baza itp
-- /controller/
--- class_router.php

list.php
  1.  
  2. foreach itd...
  3. <a href="/templates/show.php?id=<?php echo $post['id'] ?>">POKAZ </a>
  4.  


class_router.php



index.php
  1. require_once '/controller/class_router.php';
  2. require_once '/templates/class_router.php';
  3.  
  4. //no i tutaj mam po prostu:
  5. include "list.php";
  6.  
  7. <a href="/templates/admin.php">Panel admina</a>


No i co dalej? Wiem, że muszę w index.php zrobić new class_router; i na tym moje pomysły się kończą, bo nie wiem jak to dalej zrobić.


Dostałem od was tą regułę:
Cytat
RewriteRule .* index.php?costam=$0 [L]

Ale niewiele mi to mówi. To oznacza, że wszystko co wywołam to jest kierowane na index.php?costam?
Czyli może powinienem zrobić coś w stylu:
Cytat
RewriteRule ^edit$ index.php?edit.php=$0 [L]
RewriteRule ^show$ index.php?show.php=$0 [L]

i wtedy jak się mam w takim razie odwoływać do tych plików?
Zakładając, że to jest dobrze, a pewnie nie jest to jak jaką teraz zrobić regułę dla admin.php, żeby też był brany pod routing?
No i najważniejsze - jak w ogóle zacząć z tym dispatcherem?

Pozdrawiam i proszę o pomoc (IMG:style_emoticons/default/smile.gif)

Ten post edytował snaers 25.03.2011, 14:17:38
Go to the top of the page
+Quote Post

Posty w temacie
- snaers   [PHP] Jak powinien wyglądać kontroler / router ?   24.03.2011, 22:29:42
- - PlayKiller   Router -> Controler (korzysta z Model) -> Vi...   24.03.2011, 22:35:44
|- - lukaskolista   Cytat(PlayKiller @ 24.03.2011, 22:35...   25.03.2011, 08:52:30
- - snaers   Racja, źle to pytanie zadałem. Jak zrobić ten rout...   24.03.2011, 22:39:27
|- - fifi209   Cytat(snaers @ 24.03.2011, 22:39:27 )...   24.03.2011, 22:43:23
- - snaers   Ok, ok, ale wciąż nie bardzo wiem jakbym miał taki...   24.03.2011, 22:46:48
- - thek   Router pobiera URL i parsuje go. Na podstawie tego...   24.03.2011, 23:01:59
- - snaers   Czyli mam do tego użyć $_SERVER['REQUEST_...   24.03.2011, 23:06:45
- - everth   Symfony w diagramach UML. Poprzeglądaj sobie jak t...   24.03.2011, 23:07:52
- - fifi209   Odpowiedni rewrite RewriteRule .* index.php?costa...   24.03.2011, 23:07:59
- - snaers   Symfony trochę oglądałem od strony kodu, ale to zd...   24.03.2011, 23:22:01
- - Crozin   @PlayKiller, @fifi209, @thek: A co ma router do od...   24.03.2011, 23:48:18
- - snaers   No dzięki, ale dalej nie wiem jak się do tego zabr...   25.03.2011, 00:13:18
- - thek   Zastosowalem za duży skrót myślowy. Postaram to ni...   25.03.2011, 01:10:48
- - thek   Lukaskolista... Dobrze, że zastrzegłeś o tym MVC i...   25.03.2011, 09:22:58
- - snaers   A MVC w Symfony jest poprawne? Na tej podstawie mo...   25.03.2011, 10:37:00
- - thek   By nauczyć prawidłowo wzorcy czytaj dokumentację. ...   25.03.2011, 11:24:20
- - snaers   Ja też nie wiem jak to działa, bo to jest przykład...   25.03.2011, 12:16:48
- - thek   No przecież masz gotowy prosty router... Co więcej...   25.03.2011, 12:27:59
- - snaers   Nie chciałem gotowca tylko naprowadzenie. Dalej po...   25.03.2011, 12:44:54
- - thek   Ale o to chodzi, że nie wiemy nic o Twoim kodzie. ...   25.03.2011, 13:41:27
- - snaers   No tak, masz rację. Nie podałem nic, bo nic nie ma...   25.03.2011, 14:16:15
- - Crozin   Cytat- Chcę zbudować samochód, jak to zrobić? - Zo...   25.03.2011, 14:59:35
- - snaers   Ale mi nie o to chodzi! Od początku tego temat...   25.03.2011, 15:07:28
- - thek   Ale jak nie? Opisaliśmy Ci jak działa router wraz ...   25.03.2011, 16:42:28
- - snaers   Napisałeś, że nie wiecie jak u mnie wygląda cała s...   25.03.2011, 17:19:37
- - Crozin   Nie, nie chodzi o kilka linijek kodu. Ale oczywiśc...   25.03.2011, 17:34:30
- - thek   O przepraszam... Na PW Ci napisałem więcej niż tyl...   26.03.2011, 02:04:49


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 03:54