Plan mi je da napišem funkcije za rad sa bazom podataka i da ih smestim u jedan fajl (recimo funkcije.inc.php). Nakon toga bih želeo da uradim include() tog skripta i da pozivam pojednostavljene funkcije njihovim imenima. Međutim, ovo već u start ue funkcioniše. Evo delova koda:
fajl_koji_bi_trebalo_da_includ-uje_funkcije.php:
------------------------------------------------------------
include("./etc/config.inc.php");
include("./etc/sql/${dbtype}/config.inc.php");
include("./etc/sql/${dbtype}/funkcije.inc.php");
// Povezivanje sa bazom podataka.
db-povezivanje($dbhost, $dbuser, $dbpass);
------------------------------------------------------------
U fajlu ./etc/sql/${dbtype}/config.inc.php se nalaze vrednosti za $dbhost, $dbuser i $dbpass.
Evo i fajla sa funkcijama za mysql:
funkcije.inc.php:
------------------------------------------------------------
<?
function db-povezivanje($dbhost, $dbuser, $dbpass) {
$dbc = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$dbc) {
die(Header("Location: index.php?greska=2"));
}
}
?>
------------------------------------------------------------
Medjutim, ovo ne radi. Fajl fajl_koji_bi_trebalo_da_includ-uje_funkcije.php jednostavno ne uradi ništa (čak ništa i ne ispiše mada ispod ima još koda koji bi morao da ispiše nešto ili makar da preusmeri) kada se na navedeni način pozove funkcija db-povezivanje().
Ukoliko umesto da includujem funkcije i pozivam moju funkciju db-povezivanje napišem :
------------------------------------------------------------
$dbc = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$dbc) {
die(Header("Location: index.php?greska=2"));
}
------------------------------------------------------------
direktno - sve radi kao pucka. Ali na meni zamišljeni način neće.
Gde sam napravio grešku, kako je ispraviti i da li je ovakva zamisao uopšte moguća u PHP-u?
Ovakva primena ovde deluje kao čisto komplikovanje ali je ovo samo početak koda. U redovima:
include("./etc/sql/${dbtype}/config.inc.php");
include("./etc/sql/${dbtype}/funkcije.inc.php");
se vidi promenljiva $dbtype tako da se ovaj skript jednostavno može koristiti sa svim bazama podataka uz prepisivanje funkcija za taj tip baze podataka i setovanje promenljive $dbtype.