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
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Tylko widzisz... Ty chyba nie do końca rozumiesz czym jest FW. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) FW to nie jakiś tam CMS, że pokażesz stronę znajomym, a oni Ci powiedzą eee... wyklikać kilka opcji w ACP, wrzucić szablon to i ja potrafię

FW to tylko narzędzie pomocnicze. Nikt Ci się nie przeczepi a... stronę w Symfony to i ja sobie potrafię w 15 min strzelić. I strona będzie wtedy jak najbardziej "w pełni Twoja".

A jak chcesz mieć w pełni Twoją (tym razem bez cudzysłowi) to napisz sobie jeszcze własny język programowania, bo przecież w PHP to dziesiątki gotowych rozwiązań masz. Później własny serwer..., następnie własny OS, maszyne, itd. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
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 - 05:26