Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Klasa szablonu - czy się nada?
Evinek
post
Post #1





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010

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


Tworzę klasę do obsługi szablonów. Mógłbym dać ten temat do działu Oceny, ale nie warto chyba o taką rzecz.
Chciałbym się dowiedzieć czy mój kod jest: optymalny, napisany prawidłowo z zasadami OOP i czy się nadaje na strone. Dodatkowo możecie napisać czy dobre mam nazewnictwo klasy, funkcji, zmiennych.

Jest tam jedna funkcja (get_dir()) której będę najwyżej używał poza klasą, a wewnątrz używam zmiennej dir.
Jeszcze myślę nad tym aby dać private funkcji load() ponieważ jest ona używana tylko wewnątrz klasy.

Kod:
https://www.dropbox.com/sh/eddsygq5kwhv3ty/FRDwEvOfGJ
Live:
http://evinek.ugu.pl/template/

Z góry dziękuje.
Pozdrawiam, Paweł.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Evinek
post
Post #2





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010

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


Czyli, jeśli dobrze rozumiem, to będę miał na przykład taki szablon(layout.php):
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title><?php echo $this->get('title'); ?></title>
  6. </head>
  7. <body>
  8. <div id="error">
  9. <?php $this->block_load('error'); ?>
  10. </div>
  11. <div id="main">
  12. <div id="header">
  13. <!-- KOD HEADER -->
  14. </div>
  15. <?php $this->block_load('success'); ?>
  16. <div id="content">
  17. <?php $this->block_load('content'); ?>
  18. </div>
  19.  
  20. <div id="footer">
  21. <!-- KOD FOOTER -->
  22. </div>
  23. </div>
  24.  
  25. </body>
  26. </html>


A w szablonie news.php:
  1. <?php $this->block_start('content'); ?>
  2. //Pętla z newsami czy coś
  3. <?php $this->block_stop('content'); ?>
  4. <?php $this->block_start('success'); ?>
  5. <div id="success"> POPRAWNIE WYŚWIETLONO NEWSY </div>
  6. <?php $this->block_stop('success'); ?>


Klasa oczywiście automatycznie doda layout.php do news.php.
Dobrze rozumiem?

Ja miałem taki pomysł, aby zrobić takie coś:
Każdy szablon (np. news.php, contact.php) był by osobnym plikiem, a w nich bym ładował tylko te dane które są potrzebne. Przykład(news.php):
  1. <?php echo $this->getDoctype(); ?>
  2. <html>
  3. <head>
  4. <?php echo $this->getMeta(); ?>
  5. <title><?php echo $this->get('title'); ?></title>
  6. </head>
  7. <body>
  8. <div id="main">
  9. <?php $this->load('header'); ?>
  10. <?php $this->load('success'); ?>
  11. <div id="content">
  12. <?php $this->load('jeszcze_cos'); ?>
  13. </div>
  14.  
  15. <div id="footer">
  16. <?php $this->load('footer'); ?>
  17. </div>
  18. </div>
  19. </body>
  20. </html>

Wtedy będę mógł dodać menu (akurat na mojej stronce jest tylko w zakładce newsy) tylko do jednego szablonu, a jak będę chciał to do wielu.
W każdym "bloku" pobierał bym tylko dane ($this->get('zmienna')) i tam obrabiał ładnie w HTML'a.

Czy to nie jest lepszy pomysł niż z tymi blockami? Chyba nawet podobny bo w divie (id content) i tak będę ładował "bloki"(wyświetlenie listy newsów, podgląd itp.).

Czekam na odpowiedź. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.08.2026 - 18:48