Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zarządzanie 'includami'
wlamywacz
post
Post #1





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Natknąłem się w swojej aplikacji na problem jakim jest zarządzanie inludowanymi plikami .js jak i .css . Aplikacja jest tak zbudowana iż wywoływana jest funkcja view::headerSite() z odpowiednimi parametrami. Jednak pisanie przed każdym wywołaniem nagłówka takiego kodu jest trochę nieporęczne i może wprowadzić zamęt:
  1. <?php
  2. //W konstruktorze
  3. $this->include = array();
  4. //W funkcjach
  5. $this->include[] = '<link rel="Stylesheet" type="text/css" href="templates/index/wlasciwosci.css" />';
  6. $this->include[] = '<script type="text/javascript" src="galeria/js/mootools.v1.11.js"></script>';
  7. $this->include[] = '<script defer type="text/javascript" src="js/preloader.js"></script>';
  8. ?>


Jak wy to rozwiązujecie ?

Pozdrawiam i przepraszam kilka osób za jeden z moich poprzednich tematów. Jednak uwagi tych osób były konstruktywne i po głębszym zastanowieniu przyniosły pożądany efekt.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wlamywacz
post
Post #2





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


  1. <?php
  2. class site { 
  3.  
  4. private $include = array();
  5.  
  6. public function __construct() {
  7. }
  8.  
  9. public function setParam($name, $param) {
  10.  
  11. $this->$name = $param;
  12. }
  13.  
  14. public function defaultFunction() {
  15.  
  16. $this->page = $this->param2;
  17.  
  18. $this->include[] = '<link rel="Stylesheet" type="text/css" href="templates/index/wlasciwosci.css" />';
  19. $this->include[] = '<script type="text/javascript" src="galeria/js/mootools.v1.11.js"></script>';
  20. $this->include[] = '<script defer type="text/javascript" src="js/pngfix.js"></script>';
  21. $this->include[] = '<script defer type="text/javascript" src="js/rejestracja.js"></script>';
  22. $this->include[] = '<script defer type="text/javascript" src="js/kontakt.js"></script>';
  23. $this->include[] = '<script defer type="text/javascript" src="js/preloader.js"></script>';
  24.  
  25. view::naglowek_index(); //$this->include przed nagłówkiem !
  26.  
  27. $class = new view;
  28.  
  29. if(method_exists($class, $this->page)) {
  30. $page = $this->page;
  31. view::$page();
  32. } else {
  33. view::index();
  34. }
  35.  
  36. view::stopka_index();
  37.  
  38. }
  39.  
  40. }
  41. ?>


  1. <?php
  2. public function naglowek_index() {
  3. $naglowek = new Smarty();
  4. $naglowek->template_dir = FOLDER;
  5. $naglowek->compile_dir = FOLDER . 'compile/';
  6. $naglowek->cache_dir = FOLDER . 'cache/cache_inne/';
  7. $naglowek->caching = 0;
  8. $naglowek->error_reporting = E_ALL; 
  9. if(!isset($this->title)) {
  10. $this->title = 'Standardowy tytuł';
  11. }
  12. $naglowek->assign( 'title' , $this->title);
  13. $naglowek->assign( 'include' , $this->include);
  14. $naglowek->display('index/naglowek.tpl');
  15. }
  16. ?>


W klasie tej jest taki mały router który wywołuje od razu metody w klasie view gdyż są to dane statyczne które nie ulegają zmianie i tym samym nie potrzebują modeli. Nie modę podać samej nazwy gdyż czasem są to pliki typu .js a czasem .css

Ten post edytował wlamywacz 8.06.2008, 13:25:48
Go to the top of the page
+Quote Post

Posty w temacie


Closed 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.03.2026 - 16:21