Tartalomjegyzék

< PHP fejlesztés

PHP fejlesztés -- Mini projekt

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:

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');