Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dzielenie kodu na kilka plików
404
post
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

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


Witam (IMG:style_emoticons/default/smile.gif)

Od razu przejdę do rzeczy. Buduję stronę internetową. Dla przykładu załóżmy, że mam następujące podstrony:
Kod
http://www.moja-strona.pl/users/jan.kowalski
http://www.moja-strona.pl/projekty/hello.word
http://www.moja-strona.pl/about

Dla każdej podstrony tworzę osoby plik, który ją (tj. stronę) generuje:
Kod
dipslay_users.php
dipslay_projects.php
about.php

O co mi chodzi?
Chciałbym móc zrobić coś takiego:
  1. //Plik: index.php?s=[nazwa_strony]
  2.  
  3. // Połączenie z bazą danych
  4. // Inicjalizacja sesji
  5. // ...
  6.  
  7. $site = $_GET['s'];
  8. switch($site)
  9. {
  10. case 'users': require_once('display_users.php'); break;
  11. case 'projects': require_once('display_projects.php'); break;
  12. case 'about': require_once('display_about.php'); break;
  13. }
  14.  
  15. // Zamknięcie połączenia z bazą
  16. // Itp.

Mówiąc krótko - wszystkie strony mają "przechodzić" przez jeden plik oraz zmiennych użytych w pliku index.php chciałbym móc używać w pozostałych plikach. Czy muszę do tego użyć global, tzn. czy to muszę być zmienne globalne? Czy może ma ktoś inny pomysł? Inną koncepcję? (IMG:style_emoticons/default/smile.gif)

Używam silniczka szablonów (RainTPL) (gdyby komuś ta informacja była potrzebna).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
szmerak
post
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Hmm, Ja tylko nie rozumiem czy ktoś jeszcze?

Skoro powołujesz do życia obiekt Session() w pliku index a później includujesz display_users.php do tego samego pliku, to w czym problem?
Zoobrazuje ci to

  1. +++++PLIK INDEX.PHP+++++
  2. <?php
  3. $session = new Session();
  4. itp. itd..
  5. ...
  6. ..
  7. ...
  8. switch($_GET['page']){
  9. case 'display_users':
  10. include 'display_users.php';
  11. +++++++++++++++++++++
  12. /* TUTAJ PARSOWANIE INDEXU JEST ZATRZYMYWANE, ZOSTAJE DOŁĄCZONY PLIK DISPLAY_USERS, WZNAWIANE JEST PARSOWANIE PLIKU WRAZ Z KODEM Z PLIKU DISPLAY_USERS (Zaczynając od miejsca przerwania). <- Tak więc obiekt $session <- jest dostępny w pliku display_users */
  13. +++++++++++++++++++++
  14. break;
  15. }
  16. ...
  17. ...
  18. ...
  19. //reszta kodu
  20. $template->parse();
  21. ?>

no i żadne global nie jest tutaj potrzebne...

Ten post edytował szmerak 2.01.2012, 22:18:14
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.10.2025 - 00:08