[[oktatas:programozás:php|< PHP]] ====== PHP routing ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2019, 2020 * [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: http://szit.hu ===== Egyszerű routing ===== Az apache számára szükséges: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ index.php [QSA,L] A működéshez szükség van az Apache-ban AllowOverride FileInfo

Főoldal

Névjegy

Kapcsolat

Az oldal nem található!

===== Az explode ===== Az explode akkor hasznos, ha vannak paraméterek, amiket szeretnénk leválasztani. ===== Header ===== A header('HTTP/1.0 404 Not Found') utasításnak látszólag nincs hatása. De egy curl paranccsal megtekintve: curl -D /dev/stdout http://localhost:8000/vmi HTTP/1.0 404 Not Found Host: localhost:8000 Connection: close X-Powered-By: PHP/7.0.33-0+deb9u3 Content-type: text/html; charset=UTF-8

Nincs ilyen oldal

===== Az includes ===== Az includes könyvtár a php függvények tárhelye, amelyet olyan alkönyvtárban is használhatunk, amelyekben külön routing van. Ilyen esetben nem mindegy, hogyan kezdődik egy include(), include_once() függvény paramétere. Ajánlott például: include_once($_SERVER['DOCUMENT_ROOT']."/mysql.php"); ===== Alkönyvtárhoz .htaccess ===== RewriteEngine On RewriteBase /info/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ /info/index.php [QSA,L] Alkönyvtár esetén fejlesszünk így: projekt01 |-.git/ |-database/ |-draft/ |-projekt01/ | |-css/ | |-js/ | |-includes/ | |-libs/ | |-templates/ | |-views/ | `-index.php | |-.gitignore |-changelog.txt `-readme.txt mkdir projekt01 cd projekt01 mkdir projekt01 php -S localhost:8000 -t . A CSS és JavaScript fájlokra így hivatkozzunk: projekt01/css/style.css projekt01/js/script.js ===== Források ===== * https://www.taniarascia.com/the-simplest-php-router/ (2019) * https://joshtronic.com/2015/05/24/basic-page-routing-in-php/ (2019) * https://thisinterestsme.com/404-not-found-header-php/ (2019)