![]() |
![]() |
![]()
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".
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 ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Ja sugeruję die()? W żadnym wypadku. Przecież nawet wiadomość wyjątku możesz pobrać do zmiennej, to i tak był tylko przykład.
Chodziło mi o to, że robisz sobie klasę View. Zapisujesz jej instancję do pola view twojej klasy Page. Potem w Page robisz $this->view->error (tworzy się tu automatycznie pole w klasie View, to dość dziwna cecha PHP (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) = 'jakis blad'. Natomiast w klasie View masz metodę render, która pobiera szablon, więc w szablonie korzystasz z pól klasy View, dlatego masz $this->error. Co do wzorca rejestru: masz 2 metody statyczne: set i get. Set zapisuje do statycznej tablicy, get pobiera. Do tego możesz dorzucić ładowanie np. z INI albo XMLa... Ten post edytował Mephistofeles 16.03.2009, 22:31:10 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 13:11 |