inject basepath v neon konfiguračním souboru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Mesiah
Člen | 240
+
0
-

ahoj, jam můžu vstříknout, ať už skrz konstruktor nebo setter basepath do služby v neon souboru?

MartinitCZ
Člen | 580
+
+2
-
public function __construct(\Nette\Http\Request $httpRequest)
{
	$basepath = rtrim($httpRequest->getUrl()->getBasePath(), '/'); // Pokud se to má rovnoat $this->template->basePath, tak je potřeba rtrim.
}

Editoval martinit (16. 6. 2014 21:56)

mkoubik
Člen | 728
+
+1
-

Předej si Http\Request a pak to z něj takhle vytáhni.

Oli
Člen | 1215
+
-5
-

Já to dělám takhle:

parameters:
	basePath: %wwwDir%/

services:
	- MyService(%basePath%)
mkoubik
Člen | 728
+
0
-

wwwDir je adresář na disku, zatímco basepath je kontext v adrese serveru.

Oli
Člen | 1215
+
0
-

No a v čem to vadí? Já to používám pro práci zejména s fotkama. Například, když uploaduju fotky na server, tak je uložím např. do té mé $basePath/img/photo.jpg. Je nějakej zásední problém, kterej pro tohle vadí? Tohle moje použití funguje jak na win, tak na linuxu.

Pokud potřebuju pracovat s url tvarem, tak je to jasný. Ono abych řekl pravdu, tím, že jsem si to takhle (blbě) pojmenoval a už dlouho používám, tak jsem ten rozdíl mezi basePath a wwwDir nějak zazdil :-|

MartinitCZ
Člen | 580
+
0
-

Už jen tvořit si parameter kvůli / je blbost.