Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CodeIgniter]Problem z kontrolerami
Polik
post 14.12.2008, 23:11:25
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.12.2003

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


Witam!

Zaczalem uczyc sie frameworka CI. Zadaniem jakie sobie postawielm jest blog (postepuje wedlug tutoriala z neta, ale troche po swojemu).

Blog wyglada mniej wiecej tak. Jest menu skladajace sie z linkow do wpisow. Klikajac na jeden z tych odnosnikow pod spodem pojawi sie tresc tego wpisu, formularz z mozliwoscia komentowania go i lista wpisanych juz wczesniej komentarzy.

Problem jest w tym, ze nie wiem jak mam to zrobic!
- Czy umiescic wszystkie instrukcje (wypisywanie tresci wpisu i obsluge komentarzy) w kontrolerze Blog?
- Czy mam stworzyc kontroler Comments, ktory bedzie odpowiadal za pobieranie i zapisywanie komentarzy? Jezeli tak to kontroler Comments bedzie musial wyswietlac menu i tresc wpisu (bo inaczej nie umiem sobie tego wyobrazic) ale wtedy to bedzie powielanie kodu (z kontrolera Blog).

Jak wy to widzicie?
Pozdrawiam!
Go to the top of the page
+Quote Post
kwiateusz
post 15.12.2008, 07:37:50
Post #2


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




Prawie trafiłeś z działem smile.gif
Przenosze z OOP na Frameworki
Go to the top of the page
+Quote Post
phpion
post 15.12.2008, 08:10:29
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Ja bym to widział w ten sposób:
  1. <?php
  2. class Blog extends Controller {
  3.    public function index() {
  4.        // pokazuje wszystkie wpisy jako "zajawki"
  5.        // wyswietla rowniez paginacje
  6.    }
  7.    
  8.    public function view() {
  9.        // pokazuje caly konkretny wpis na blogu
  10.        // wyswietla rowniez jego komentarze
  11.        // oraz formularz dodawania nowego komentarza
  12.    }
  13.    
  14.    public function add_comment() {
  15.        // dodaje nowy komentarz do danego wpisu
  16.        // po czym robi redirect() na strone komentarza
  17.        // czyli do akcji Blog::view()
  18.    }
  19. }
  20. ?>

Tworzenie kontrolera Comment jest moim zdaniem zbędne. Dodajesz komentarz do wpisu na blogu, a nie wpis jako zupełnie oddzielna jednostka, więc akcję dodającą komentarz umieściłbym w kontrolerze Blog.

Swoją drogą: skoro zaczynasz naukę to może lepiej olej CI o przejdź na coś porządniejszego. Mam tu na myśli Kohana. Filozofia bardzo zbliżona do CI jednak K jest zdecydowanie lepiej napisana niż CI.

Ten post edytował phpion 15.12.2008, 08:12:48
Go to the top of the page
+Quote Post
AxZx
post 15.12.2008, 08:48:57
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


kontroler komentarz też się przyda.
oprócz dodawania będą jeszcze akcje usuń, edytuj, zablokuj.
pod wpisem bloga wyświetlaj widok z modułu komentarz. formularz dodawania niech prowadzi do akcji komentarz/zapisz - tam po zapisaniu przekierowanie do poprzedniej akcji.


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
Polik
post 15.12.2008, 11:17:22
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.12.2003

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


AxZx - ale zeby przekierowac do poprzedniej akcji to chyba musze wywolac kontroler Blog z jakas metoda za pomoca kontrolera Comments a czytalem ze nie da sie tego zrobic i w ogole kontrolery nie powinny sie miedzy soba komunikowac. Prawda to?

phpion - wczesniej probowalem z Kohana ale nie potrafielm znalezc do niej jakis tutkow i przykladow a dla poczatkujacego jest to bardzo wazne smile.gif Co prawda byl tam tutek o robieniu blogu ale nie aktualny bo w ostatniej wersji Kohany brakuje jakiejs biblioteki co uzywali w tym tutku i juz nic nie moglem zrobic. Dlatego wybralem CI. Moze jak sie go dobrze naucze obslugiwac to przejde z powrotem na Kohana.

Pozdrawiam!
Go to the top of the page
+Quote Post
AxZx
post 15.12.2008, 11:58:41
Post #6





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


żeby przekierować do poprzedniej akcji stosujesz odpowiedni kod smile.gif

$_SERVER['http_referrer'] czy jakoś tak. możliwe, że to jest nadpisane w CI, poszukaj.
i wtedy normalnie w akcji zapisz kontroler komentarz zapisujesz i przekierowujesz do komentarza.


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 16:19