Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OOP]Pisanie CMS w OOP
PawelC
post
Post #1





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Chcę stworzyć sobie system CMS, taki który za jakiś czas będę mógł bez problemu rozbudować, i teraz moje pytanie, czy taki podział klas jest dobry rozwiązaniem.

Klasa user.class.php
- dodawanie użytkownika
- kasowanie użytkownika
- edycja użytkownika
- banowanie użytkownika
- podgląd profilu użytkownika
- przypomnienie hasła

Klasa article.class.php
- dodawanie artykułu
- kasowanie artykułu
- edycja artykułu
- podgląd artykułu
- wylistowanie artykułów

Klasa category.class.php
- dodawanie kategorii
- usuwanie kategorii
- edycja kategorii
- podgląd wszystkich kategorii

Klasa news.class.php
- dodawanie newsa
- kasowanie newsa
- edycja newsa
- podgląd newsa
- wylistowanie newsów

Klasa plugin.class.php
- dodanie pluginu
- aktywacja/dezaktywacja pluginu
- edycja pluginu

Klasa db.class.php
W tej klasie będzie wszystko związane, z bazą danych np łącznie z bazą

Klasa validation.class.php
Będzie to klasa odpowiedzialna za walidacja wprowadzonych danych

Klasa filter.class.php
Zastosowanie tej klasy, to filtrowanie wszelkich danych wprowadzanych przez użytkowników

Za wszelkie pomysły, opinie i sugestie z góry dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PawelC
post
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Powiedzcie mi, czy to jest dobrze napisana klasa:
  1. <?php
  2.  
  3. class Article{
  4.  
  5. private $db;
  6.  
  7. public function __construct(database $db)
  8. {
  9. $this->db=$db;
  10. }
  11.  
  12. //Dodawanie artykulu
  13. public function addArticle($title,$message,$author,$category)
  14. {
  15. $this->title=htmlspecialchars($title);
  16. $this->message=htmlspecialchars($message);
  17. $this->author=htmlspecialchars($author);
  18. $this->data=date('d-m-Y');
  19. $this->category=htmlspecialchars($category);
  20.  
  21.  
  22. $result=$this->db->query("insert into article values('','$this->title','$this->message','$this->author','$this->data','$this->category')");
  23. if($result===false){
  24. throw new Exception('Dane nie zostały dodane!');
  25. }
  26.  
  27. }
  28.  
  29. //Kasowanie artykułu
  30. public function removeArticle($id)
  31. {
  32. $this->id=$id;
  33.  
  34. if(!is_numeric($id))
  35. {
  36. throw new exception("ID nie jest liczbą!");
  37. }else{
  38. $result=$this->db->query("delete from article where id='$this->id'");
  39. if($result===false){
  40. throw new Exception("Wystąpił bląd podczas kasowania artykułu!");
  41. }
  42. }
  43. }
  44.  
  45. }
  46.  
  47.  
  48.  
  49. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- ExPlOiT   [OOP]Pisanie CMS w OOP   3.10.2010, 17:13:41
- - Spawnm   CytatKlasa plugin.class.php - dodanie pluginu - ak...   3.10.2010, 17:20:45
- - ExPlOiT   Wgrywasz plugin do folderu plugins, logujesz się d...   3.10.2010, 17:30:13
- - Crozin   Takie czynności jak dodanie użytkownika są zbyt sk...   3.10.2010, 18:37:33
- - Spawnm   Crozin - to zależy co masz na myśli mówiąc 'do...   3.10.2010, 18:59:50
- - ExPlOiT   CytatAle jeśli ExPlOiTowi zależy jedynie na segreg...   3.10.2010, 19:34:46
- - plurr   Podziel tą logikę na dodatkowe warstwy: np User (p...   3.10.2010, 20:28:48
- - Spawnm   Nie dawaj echo i zmian lokacji w klasach do tego n...   3.10.2010, 20:51:44
- - ExPlOiT   Dzięki za opinie i sugestie, a co do !, jakoś ...   3.10.2010, 22:08:15
- - dariuszp   Jeżeli to ma być CMS to nie radzę zaszywać artykuł...   5.10.2010, 20:30:28
- - ExPlOiT   Powiedzcie mi, czy to jest dobrze napisana klasa: ...   7.10.2010, 19:02:03
- - Spawnm   Nie. Po co pchasz wszystko do $this ? Nadal ...   7.10.2010, 19:06:45
- - lDoran   spawnowi chodzi chyba o addslashes, a htmlspecialc...   7.10.2010, 19:29:27
- - Crozin   O prepared statements słyszał? Nie? To niech pogoo...   7.10.2010, 19:34:32
- - ExPlOiT   Poprawiłem kod: [PHP] pobierz, plaintext <?php...   7.10.2010, 20:07:04
- - nospor   Nie addslashes a mysql_escape_string a najlepiej m...   7.10.2010, 20:23:05
- - Spawnm   Po co escapujesz skoro bindujesz? + po co w nazwac...   7.10.2010, 21:17:18
- - ExPlOiT   Tak, międzyczasie poprawiłem kod teraz już chyba ...   7.10.2010, 21:20:23
- - Spawnm   No to dalej - czemu nazwy raz zaczynasz z dużej a ...   7.10.2010, 21:25:45
- - ExPlOiT   Ok, poprawiłem wszystko Będę pisał, z małych + ca...   7.10.2010, 21:31:09
- - bl4ck_b0x   A ja mam trochę inne pytanie co do tego kodu... Je...   23.11.2010, 18:50:27
- - Mephistofeles   To zależy. Jeśli klasa odpowiada za widok, np. sza...   23.11.2010, 19:04:59


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: 26.12.2025 - 00:30