Webboard

Pełna wersja: Definiowanie ścieżek i łatwiejszy dostęp
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Cześć, tak sobie koduje i zauważyłem, że ciężko się piszę wszelakie linki w php i zastanawiałem się czy można to jakoś uprościć, żeby było dobrze po stronie localhost jak i po vps/hostingu
Chodzi mi głównie o linki
Kod PHP:
require_once(dirname(__DIR__)."/include/functions.php");
$link GetCurrentPage();
if(
$link == NULL) require_once(dirname(__DIR__).'/pages/home.php');
elseif(
$link == 'rules') require_once(dirname(__DIR__).'/pages/rules.php'); 
Czy można to ukrócić w następujący sposób
Kod PHP:
define('INCLUDE_PATH'dirname(__DIR__)."/include/");
define('SYSTEM_PATH'dirname(__DIR__)."/system/");
define('PAGES_PATH'dirname(__DIR__)."/pages/"); 
i zastosować to w następujący sposób

Kod PHP:
require_once INCLUDE_PATH."functions.php";
$link GetCurrentPage();
if(
$link == NULL) require_once PAGES_PATH.'home.php';
elseif(
$link == 'rules') require_once PAGES_PATH.'rules.php';
etc... 

I czy jest to zgodne ze standardami ?
Staram się przepisać cały kod, który pisałem wcześniej na obiektywny z PDO
Robić można wiele rzeczyi na wiele sposobów, ale jak już robić to warto porządnie :-)
Przepisywanie kodu na obiektowy, jednocześnie zachowując starą architekturę mija się z celem, zapomnij o globalnym pliku functions.php.

Ciężko polecać coś konkretnego bez pełnego wglądu w kod, ale jeśli już lecisz na kod obiektywny to poleciałbym raczej w kierunku routingu. Zamiast miliona różnych plików z mieszanką html/php, a zakładam, że tak to wygląda – jeden entry point typu public/index.phpw którym byłaby zaimplementowana jakąś biblioteka do routingu (po co wymyślać koło od nowa).

Przykładowo, komponent do routingu z Laravel'a (wykorzystanie poza larvą: https://github.com/mattstauffer/Torch/tr...ts/routing) bądź biblioteka z Symfony.
Cały dostępny kod
https://github.com/znaqu/wps
Dopiero dzisiaj zacząłem przepisywać kod i starać się go rozbić aby jak najmniej było mieszanki php i html
Nie jestem aż tak zaawansowany w php i kompletnie nie rozumiem tego routingu, dopiero się uczę i chce się nauczyć wszystkiego powoli, a nie używać gotowców, których nie rozumiem
Routing, czyli to o co pytasz, do tak prostej strony można ogarnąć w .htaccess (hasło: pretty urls htaccess), nie trzeba tego w ogóle pisać na plikach PHP.
Odpowiem na temat samych includowania plików. Czy jest zgodne ze standardem? Nie ma globalnych standardów opisujących takie rzeczy, ale definiowanie stałych które trzymają ścieżki do konkretnych folderów jest lepszym rozwiązaniem niż stosowałeś wcześniej.
Aktualnie teraz używa się raczej autloadera w połączeniu z namespaces. Zobacz sobie spl_autload_register. Jednak jest to standard ładowania klas, a nie plików, więc musiałbyś znacząco przerobić swój dotychczasowy kod aby był bardziej OOP.