Izvor hdonweb

DRY, konstante i trikovi u slučaju PHP-a

Don’t Repeat Yourself (DRY) kako je i opisano na samoj Wikipediji predstavlja načelo razvoja softvera čiji je krajnji cilj smanjenje ponavljanja informacija, odnosno u ovom slučaju PHP koda. Kao i u svemu što radimo uvijek nam je želja posao pojednostaviti što je više moguće, pa samim tim i olakšati.

Sam DRY pristup ću vam pokušati pojasniti na primjeru spajanja na MySQL server, recimo niže je klasičan primjer koji svi prvo nauče.

1
2
3
4
5
6
$con = mysql_connect('localhost', 'korisnickoime', 'lozinka');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("nazivbaze", $con);

Ono što bi DRY pristup zahtijevao, a i primjer iznad učinio čitljivijim je izdvajanje varijabli u kojima će biti svi potrebni podaci.

1
2
3
4
5
6
7
$db_host = 'localhost';
$db_user = 'korisnickoime';
$db_pass = 'lozinka';
$db_baza = 'nazivbaze';
 
$mysql = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_baza);

Kako se host, naziv baze i korisnički podaci ne mijenjaju kroz aplikaciju možete definirati konstante.

1
2
3
4
5
6
7
define('DB_HOST', 'localhost');
define('DB_USER', 'korisnickoime');
define('DB_PASS', 'lozinka');
define('DB_BAZA', 'nazivbaze');
 
$mysql = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_BAZA);

Recimo da često nakon testiranja sa jednog servera prelazite na drugi, kako ne biste svaki puta morali mijenjati host, naziv baze i korisničke podatke. Jednostavno korištenjem if petlje definirate dio za produkciju, dio za testno okruženje i promjenom vrijednosti konstante LIVE_SERVER upravljajte hostom, nazivom baze i korisničkim podacima.

1
2
3
4
5
6
7
8
9
define('LIVE_SERVER', true); // true za produkciju, false za testni server
 
if(LIVE_SERVER) {
// definirajte host, naziv baze i korisničke podatke
// u slučaju kada radi na produkciji (live okruženje)
} else {
// definirajte host, naziv baze i korisničke podatke
// u slučaju kada radite u testnom okruženju
}

Ili koristite predefinirane PHP varijable.

1
2
3
4
5
6
7
if ($_SERVER['HTTP_HOST'] == 'www.nazivdomene.com') {
// definirajte host, naziv baze i korisničke podatke
// u slučaju kada radi na produkciji (live okruženje)
} else {
// definirajte host, naziv baze i korisničke podatke
// u slučaju kada radite u testnom okruženju
}
QR kod za DRY, konstante i trikovi u slučaju PHP-a
Povezani postovi

1 komentar za " DRY, konstante i trikovi u slučaju PHP-a "

  1. IvanC kaže:

    što reći nego za svaku pohvalu edukacijskog materijala ;-)


Komentirajte tutorijal

Stranice

Svakako posjetite

© 2009 HDonWEB | Sva prava pridržana | Web dizajn: Ivan Mišić

Preuzimanje sadržaja bez prethodne dozvole nije dopušteno!