Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Budowanie CMSa
Asmox
post
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Mimo iż wiem wiele na temat php, nie jestem jakimś ekspertem, więc proszę o wyrozumiałość. Chciałbym napisać swojego CMSa (własnego, bezpiecznego, na wzór innych).
Aby to zrobić, trzeba by napisać.... jakiś framework. Nie wiem wiele o tym, ale z tego co zrozumiałem z Wikipedii ułatwia tworzenie modelu (szablonu) jakiegoś projektu - na przykład strony WWW.
Pomyślałem, że bezpieczniej będzie, jak wszystkie ważne zmienne umieszczę w pliku php z tablicą $_AXF (ma to trochę wspólnego z nazwą tego mojego "frameworka"). Ta tablica jest w oddzielnym pliku.
Tak więc zacząłem pisać klasę pages, która będzie odpowiadać za każdą stronę. Treść stron to po prostu pole w tabeli "strony".

  1. <?php
  2. class page
  3. {
  4. protected $id, $name, // i jakieś jeszcze zmienne
  5.  
  6. static function newpage($name, $dir, $source) {
  7. $_AXF = $GLOBALS['_AXF'];
  8. $now = date("Y-m-d");
  9.  
  10. try{
  11.  if (!@mysql_connect($_AXF['db_c_host'], $_AXF['db_c_login'], $_AXF['db_c_passwd']))
  12.        throw new Exception('Połączenie z bazą danych nie powidło się!');
  13.  if (!@mysql_select_db($_AXF['db_c_base']))
  14.        throw new Exception('Wybranie nazy danych nieudane!');
  15.        
  16.  if ($_AXF['db_set_results'] != "") {
  17.    if (!mysql_query('SET NAMES '.$_AXF['db_set_results']))
  18.        throw new Exception('Nie mogę wykonać zapytania!');
  19.    if (!mysql_query('SET CHARACTER SET '.$_AXF['db_set_results']))
  20.        throw new Exception('Nie mogę wykonać zapytania!');
  21.  }
  22.  if (!mysql_query("INSERT INTO ".$_AXF['db_pages_table']." VALUES(NULL, '$name', '$adress', '$now', 'Przykładowa treść');"))
  23.      throw new Exception('Nie mogę wykonać zapytania!');
  24.  
  25. }
  26.  
  27. catch (Exception $error) {
  28.  echo "Wystąpił błąd podczas działania skryptu o komunikacie: ";
  29.  echo $error->getMessage();
  30.  echo "<br />\n";
  31.  echo "Na linii: ".$error->getLine()."<br />\n";
  32. }
  33. }
  34.  
  35. function __construct() {
  36. $this->id = 0;
  37. $this->name = "example_name.ex";
  38. $this->dir = "directory/";
  39. $this->kategory = "example_kategory";
  40. $this->level = 1;
  41. }
  42. public function assign($id, $name, $dir, $source, $level) {
  43. $this->id = $id;
  44. $this->name = $name;
  45. $this->kategory = $kategory;
  46. $this->level = $level;
  47. }
  48. }
  49. ?>


Mam parę pytań co do swojej klasy.
1. Czy umieszczenie w jednej klasie metod statycznych i tych, co trzeba do ich użycia zmiennej jest w porządku?
2. Czy lepiej, aby ta jedna klasa służyła do wszystkiego wiązanego ze stronami (dodawanie, edycja, wyświetlanie...), czy lepiej, abym stworzył kilka mniejszych ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Asmox
post
Post #2





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


Chciałbym bardzo zrobić coś samemu, bo swoją ostatnią stronę napisałem kilka lat temu i w dodatku bardzo kiepską. Dlatego na razie nie chcę korzystać z żadnych pomocy, typu Zend, Smarty i jakieś tam inne, tylko napisać coś samodzielnie. Jak skończę swoją stronkę, to zacznę się przyglądać pomocniczym mechanizmom.

Jak patrzyłem po podpisach, to chyba każdy z modów/przyjaciół/adminów i osób, które się liczą na tym forum mają swoją stronę. Taką prawdziwą, którą można pokazać kumplom. Też chciałbym taką zrobić, ale żebym mógł powiedzieć, że to tylko moje dzieło (jeżeli robisz coś bez pomocy to zawsze jest się później bardziej uradowanym, niż jak się tylko rozbuduje jakiś projekt)

Ten post edytował Asmox 18.03.2009, 07:00:25
Go to the top of the page
+Quote Post
Riklaunim
post
Post #3





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


Cytat(Asmox @ 18.03.2009, 08:57:31 ) *
Jak patrzyłem po podpisach, to chyba każdy z modów/przyjaciół/adminów i osób, które się liczą na tym forum mają swoją stronę.

Ja mam napisaną za pomocą Django (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie
- Asmox   Budowanie CMSa   16.03.2009, 18:12:19
- - erix   Cytat[PHP] pobierz, plaintext <?php$_AXF = $GLO...   16.03.2009, 18:18:28
- - Asmox   Znaczy bo nie wiem: co jest źle? Bo to jest tak: W...   16.03.2009, 18:33:39
- - erix   Zmiennych globlanych się unika jak ognia, bo częst...   16.03.2009, 18:55:22
- - Asmox   Aha, czyli po prostu taką klasę ze zmien...   16.03.2009, 19:27:26
- - Mephistofeles   Zainteresuj się wzorcem rejestru, korzysta z niego...   16.03.2009, 19:54:23
- - Asmox   OK, tylko za bardzo nie mogę się doczytać o tych w...   16.03.2009, 20:26:34
- - erix   4: absolutnie - po to stworzono wyjątki, aby z nic...   16.03.2009, 20:50:34
|- - Asmox   Cytat(erix @ 16.03.2009, 20:50:34 ) 1...   17.03.2009, 06:46:55
- - Mephistofeles   Ja sugeruję die()? W żadnym wypadku. Prz...   16.03.2009, 22:28:18
- - Crozin   Chcesz się brać za pisanie CMSa nie mając podstawo...   17.03.2009, 13:28:24
- - Asmox   Nie, nie źle mnie zrozumiałeś Crozin. Mam książkę ...   17.03.2009, 16:23:03
|- - Riklaunim   Cytat(Asmox @ 17.03.2009, 18:23:03 ) ...   17.03.2009, 16:34:03
|- - Asmox   Cytat(Riklaunim @ 17.03.2009, 16:34:0...   17.03.2009, 20:25:25
- - Crozin   CytatCo do wykorzystania Frameworków... Nie wiem, ...   17.03.2009, 17:09:32
- - Mephistofeles   Jeśli chcesz szybko skończyć swój projekt to polec...   17.03.2009, 21:05:20
- - Riklaunim   Za dużo hasełek się naczytałeś... OOP, obiektowość...   17.03.2009, 21:07:09
- - kbsucha   Ale z drugiej strony doszliscie do takich wnioskow...   17.03.2009, 21:27:37
- - Asmox   Chciałbym bardzo zrobić coś samemu,...   18.03.2009, 06:57:31
|- - Riklaunim   Cytat(Asmox @ 18.03.2009, 08:57:31 ) ...   18.03.2009, 09:19:22
- - Crozin   Tylko widzisz... Ty chyba nie do końca rozumiesz c...   18.03.2009, 09:33:01
- - Mephistofeles   Własny komputer w piwnicy też zrobisz? BIOSa do ni...   18.03.2009, 10:12:02
- - blooregard   CytatA jak chcesz mieć w pełni Twoją (tym razem be...   18.03.2009, 10:27:35
- - melkorm   Eh. Troche się chyba zagolopowaliście z tymi osąda...   18.03.2009, 10:33:29


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: 12.10.2025 - 01:09