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





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat
A co do includa i requira -> czy nie lepiej na jakiegoś trackera który pracuje w tle ale jest dołączany na początku użyć include? ponieważ w przypadku błędu cała strona padnie, a używając includa, my stracimy troche statów, ale użytkownicy tego nie odczują.


To że coś się nie wczytało z plików php, jest raczej sytuacją wyjątkową, która miejsca mieć nie powinna. Czyli przerwanie działania skryptu i stosowna informacja dla admina + logi. A co jeżeli operowałeś na danych które dostarczał nie zaincludowany plik? Jest błąd, nawet jeżeli to jest notice, to skrypt IMO powinien zostać przerwany i zapisać do logów stosowną informację. Nie pamiętam kiedy ostatni raz użyłem include i bardzo dobrze mi z tym. Przynajmniej mam kontrolę nad aplikacją, a nie że ona robi sobie co chce (IMG:style_emoticons/default/wink.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: 7.10.2025 - 20:58