Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> One more time Classy
Kuziu
post 5.03.2006, 21:03:13
Post #1





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Witam,

Wiem że kolejny raz ... ale.
Chciałbym wiedzieć czy dobrze kombinuję czy może jednak da się prościej:

Mam pliki:
index.php -> Wybiera odpowiedni modul aktualnie zarządany
modules/xxxx.php -> Moduly
classes/xxxx.class.php -> Classy

I teraz:
modules/news.php
  1. <?php
  2. if($_GET['action'] == 'addnews'){
  3. $news->addNews('Tytyl‚ newsa', 'Zawatosc newsa');
  4. }
  5. if($_GET['action'] == 'addcomment'){
  6. $news->addComment($_POST['newsid'], $_POST['content']);
  7. header("Location: index.php?module=news&action=view&id=" . $_POST['newsid']); exit();
  8. }
  9.  
  10. ?>

I tak dalej ... Wiadomo wszystkie mozliwe akcje dla Newsów

i teraz:
classes/news.class.php
  1. <?php
  2. function addNews($title, $content){
  3. if($this->users->adminPrivilages & NEWS){
  4. $result = mysql_query('
  5. INSERT INTO news VALUES(
  6. '''' . $this->users->id . '''' . time() . ''''
  7. . $title . '''' . $content . '''0')') or die(mysql_error());
  8. }else{
  9. $this->smarty->display('errors/noprivilages.tpl');
  10. }
  11. }
  12. ?>


Czy to jest dobre rozwiązanie ?

Rozdzielanie wszystkiego na 2 pliki czyli np. newsy na 2 plikach. Jeden decydujący o tym jaką z metod Klasy news wywołać no i klasa newsów wykonująca odpowiednie akcje... I tak z kazdym modułem forum itp.

Nie wiem czy to dobra budowa czy raczej wszystko nie powinno być w 1 pliku ? ale jeśli tak to jak.

I nie chodzi tylko o podział na pliki tylko ogólnie czy dobrze kombinuję. Nie chcę za jakiś czas znów zaczynać wszystkiego od początku.

Dzięki za pomoc.

Ten post edytował Kuziu 5.03.2006, 21:06:09


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
scanner
post 6.03.2006, 17:43:23
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Zaczynając od początku:
1. Zdefiniuj mi prosże wyraz "Classy".
2. zamiast mieszać tyloma IF-ami, poczytaj o konstrukcji switch
3. Struktura plików, w której każda klasa będzie umieszczona w osobnym pliku pomoże Ci zachowac porządek w kodzie oraz includować tylko te pliki, które sa wymagane do pracy systemu.
4. Wywoływanie metod danego obiektu z poziomu pewnego rodzaju kontrolera jest jaknajbardziej prawidłowe.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Kuziu
post 6.03.2006, 18:46:38
Post #3





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


1. Takie pseudo spolszczenie =]
2. Niby racja jednak czasem potrzeba 3-8 linii i wtedy switch dosc nie ciekawie wyglada jednak chyba go zastosuję
3. Nom Racja.
4. Wlasnie co do tego kontrolera to nie mam pewnosci. Czy nie stworzyc klasy, która by się tym zajmowała czy tak jak teraz robię poprostu plik php wywołujący odpowiednie metody.

Pozdrawiam


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
scanner
post 6.03.2006, 18:58:30
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Idź precz z takimi "spolszczeniami". Nie kalecz języka ojczystego.
Switch zawsze będzie wyglądał lepij niz kilka ifów
Kontroler też może występować w formie obiektu. A nawet powinien.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Kuziu
post 6.03.2006, 19:32:12
Post #5





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Ok ostatni post smile.gif


ifów - to coś jak classy biggrin.gif:D:D

Class - Classy If - Ifów smile.gif

Więc nie bądźmy tacy szczegółowi bo jak widzisz i Ty tak piszesz biggrin.gif

Pozdrawiam


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
scanner
post 6.03.2006, 19:54:27
Post #6





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Drobna różnica:
Class = Klasa - istnieje odpowiednik w języku polskim.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Kuziu
post 6.03.2006, 20:04:50
Post #7





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


if - "jeśli", "jeżeli" też istnieje smile.gif

ok bo zeszlismy z tematu smile.gif
Co chcialem się dowiedziałem 1 more dzięki

Ten post edytował Kuziu 6.03.2006, 20:05:48


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
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: 14.08.2025 - 03:52