Tartalomjegyzék
PHP fejlesztés -- Mini projekt
- Szerző: Sallai András
- Copyright © Sallai András, 2020
- Web: https://szit.hu
Bevezetés
Olyan projektekre kell gondolnunk, amelyek egy webhelynek nem a főoldalát alkotják, hanem valamilyen alkönyvtárban egy kisebb program, ami lehet például egy regisztrációs felület egy eseményre.
Projekt szervezés
Legyen egy webhely, amely zold.lan címen érhető el. Ennek egy pr01 nevű alkönyvtárában szeretnénk egy regisztrációs felületet. A weboldal így lesz elérhető:
http://zold.lan/pr01/
A következő könyvtárszerkezetet tervezzük:
projekt01 |-.git/ |-database/ |-draft/ |-pr01/ | |-css/ | |-js/ | |-includes/ | |-libs/ | |-templates/ | |-views/ | `-index.php | |-.gitignore |-changelog.txt `-readme.txt
mkdir projekt01 cd projekt01 mkdir pr01 php -S localhost:8000 -t .
A böngészőben viszont ezt írjuk:
localhost:8000/pr01
Git tároló
A tárolót a projekt01 könyvtárban hozzuk létre.
git init
A felöltéshez a git verziókövetőt fogjuk használni, SSH protokollon keresztül. Ezért állítsuk be a távoli szervert.
Hozzáférés a szerverhez
- ~/.ssh/config
Host webhost Hostname zold.lan User git IdentityFile ~/.ssh/webhost_rsa IdentitiesOnly yes
A .gitignore fájlban írjuk fel azokat a könyvtárakat és fájlokat, amelyeket nem szeretnénk verzió követni.
Routing
A routinghoz szükség van egy .htaccess fájlra:
- .htaccess
RewriteEngine On RewriteBase /projekt01/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ /projekt01/index.php [QSA,L]
A .htaccess fájl Apache webszerveren bármilyen kérést átirányít a /projekt01/index.php állományra.
Hozzuk létre a routing fájlt:
- index.php
<?php $requestUri = explode('?', $_SERVER['REQUEST_URI'], 2); switch($requestUri[0]) { case '/projekt01': case '/projekt01/': require 'views/home.php'; break; case '/projekt01/regform': require 'views/regForm.php'; break; case '/projekt01/reg': require 'views/reg.php'; break; case '/projekt01/confirmreg': require 'views/confirmreg.php'; break; case '/projekt01/terms': require 'views/terms.php'; break; case '/projekt01/list': require 'views/list.php'; break; case '/projekt01/privacy': require 'views/privacy.php'; break; default: header('HTTP/1.0 404 Not Found'); require 'views/404.php'; }
Kiinduló oldal
A kiinduló oldalt a home.php szolgáltatja. De valójában csak három PHP kódot tartalmaz. A tényleges HTML kódok a következő fájlokban találhatók:
- head.tpl
- home.tpl
- foot.tpl
A head.tpl és a foot.tpl állományokat a többi weboldalhoz is felhasználjuk. Így minden weblapnak egységes fej és lábrésze lesz.
A CSS és JavaScript fájlokra így hivatkozzunk:
/pr01/css/style.css /pr01/js/script.js
Template
A template oldal beemelése PHP scriptből:
- home.php
<?php echo file_get_contents('templates/head.tpl'); echo file_get_contents('templates/home.tpl'); echo file_get_contents('templates/foot.tpl');
Tartalom cseréje a template fájlban:
- akarmi.php
<?php echo file_get_contents('templates/head.tpl'); $page = file_get_contents('templates/akarmi.tpl'); $page = str_replace('{{label}}', 'Cím', $page); echo $page; echo file_get_contents('templates/foot.tpl');