Autor Zpráva
gardener
Profil
Zdravím, mám jeden dotaz
V rootu includuji soubor db_connect.php z adresáře /admin v tomto souboru je ale cesta na DB layer uvedena ve tvaru:
include_once './libs/nette-0.9-PHP-5.2/3rdParty/dibi/dibi/dibi.php';


takže lze bez problémů includovat pouze do souborů, které se nacházejí v adresáři /admin.

Tuší někdo prosím, jak docílit toho abych mohl includovat db_connect.php i nadžazeného adresáře aniž bych musel vytvářet duplicitní soubor pro připojení k DB.?

Díky za každou radu.

Pro představu adresířová struktura
/Root
index.php
/Admin
db_connect.php
/libs/nette-0.9-PHP-5.2/3rdParty/dibi/dibi/dibi.php
fakeit
Profil *
Co takhle si přes spuštěním aplikace definovat cesty k adresářům?
gardener
Profil
A jak by mi to pomohlo?
Jack06
Profil
gardener:
pokud dobře chápu a ten soubor máš v kořenovém adresáři, tak pak:
include_once '/libs/nette-0.9-PHP-5.2/3rdParty/dibi/dibi/dibi.php';
fakeit
Profil *
http://nettephp.com/cs/quickstart/adresarova-struktura

A místo "/libs/nette-0.9-PHP-5.2/3rdParty/dibi/dibi/dibi.php" si udělej adresář Dibi v adresáři libs -> "/libs/Dibi/dibi.php".

A zrovna připojení k databázi doporučuju zahrnout do modulů.
gardener
Profil
To nepomuze, jelikoz kdyz to includuji do souboru, ktery je v rootu aplikace(nikoliv v adresari admin), tak to predpoklada adresar s nazvem libs prave v tom rootu, adresa libs je ale az v adresari /admin.
fakeit
Profil *
gardener:
Poslechni mě a definuj si ty cesty, odkázal sem ti na Nette quick start, je to tam přesně vysvětlené. Pak už prostě stačí napsat:
<?php 
include_once LIBS_DIR . '/Dibi/dibi.php';
?>

Takhle to bude fungovat, ať budeš mít soubor i v tom nejtemnějším adresáři - samozřejmě musí být svázaný s aplikací.

To co sem napsal platí za předpokladu, pracuješ-li s Nette - podle adresářů sem osoudil automaticky že ano.
Jan Tvrdík
Profil
gardener:
Cesty pro include piš vždy absolutně (od dirname(__FILE__)).
gardener
Profil
fakeit vážně mi to bude k něčemu i když nepoužívám NETTE MVC model?
Jan Tvrdík to bude nejspíše ono, co by mi mohlo pomoci.
Majkl578
Profil
gardener:
vážně mi to bude k něčemu i když nepoužívám NETTE MVC model?
A proč nezačneš? Má kupu výhod... :)
Jan Tvrdík
Profil
gardener:
vážně mi to bude k něčemu i když nepoužívám NETTE MVC model?
Bude to čistější, obzvláště pokud používáš knihoven více.
gardener
Profil
Majkl578 memám to ještě nastudováno, v plánu to ale rozhodně je.

co tedy mohu udělat, pokud nyní nemohu využít MVC?
Mám u includovaného souboru tj. db_connect.php nastavit abs. cestu pomocí (od dirname(__FILE__)). ?
gardener
Profil
Pokud zapíši
$path = dirname(__FILE__).'/'.'libs/nette-0.9-PHP-5.2/3rdParty/dibi/dibi/dibi.php';

dostanu se do problému s lomítky u rozdílných OS.
Jan Tvrdík
Profil
gardener:
dostanu se do problému s lomítky u rozdílných OS
Ne, nedostaneš. Na Linuxu budou správná, na Windows se převedou na zpětná.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: