Odmítání T_USE online? „Parse error: syntax error, unexpected T_USE in… “

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Votruba
Moderator | 1114
+
0
-

Zdravím, na localhostu načítám plné Nette (verzi Nette Framework 2.0-alpha 2 ze dne 22. 11. 2010 pro PHP 5.3.0 nebo vyšší, Framework::Version mi hláší dev-2.0), online chci načítat pouze minified verzi (přirozeně).
Pokud použiji pouze

<?php
	require Nette/loader.php
?>

nebo pouze

<?php
	// minified verze
	require loader.php
?>

tak je vše vpořádku. To bych ale musel mít jiný config pro localhost a jiný pro ostrou verzi, což je sice také řešení, ale trochu vidlácké (věřím, že to jde lépe).

Jakmile to ale chci rozlišit pomocí zjištění, zda se jedná o localhost nebo o ostrý server, selhávám.

<?php
	// Nette
	if($_SERVER["HTTP_HOST"]=="localhost") {
		/* PHP 5.3.0 */
		require "Nette/loader.php";
	    	use Nette\Debug;
    		Debug::enable(); // aktivuje Laděnku
	} else {
		/* PHP 5.3.3 */
		require "loader.php";
	}
?>

Což mi hází chybu uvedenou v titulku při použítí use.
Možná používám zastaralou a špatnou metodu, děkuji za rady.

Nox
Člen | 378
+
0
-

Chyba v použití use je chyba v použití use

Tomáš Votruba
Moderator | 1114
+
0
-

Aha, takže třídu Nette\Debug budu muset načítat tak jako tak? I když ji nebudu na ostrém serveru aktivovat?

Nyní mám problém s tím, že se mi online asi vůbec nenačítá.
Na:

<?php
	// Nette
	if($_SERVER["HTTP_HOST"]=="localhost") {
  		/* PHP 5.3.0 */
    		require "Nette/loader.php";
  	}
	else {
		/* PHP 5.3.3 */
    		require "loader.php";
	}

	// use Nette\Framework jsem též zkoušel, i s as Framework
	use Nette\Utils\Framework;
	echo Framework::VERSION;
?>

vrací na ostrém:

Fatal error: Class 'Nette\Utils\Framework' not found'

Na localhostu opět vše vpořádku.

redhead
Člen | 1313
+
0
-

Nemusíš, jen nepoužívej use, ale při práci se třídou používej její název včetně namespace ( Nette\Debug::enable() )

Třída Framework je v namespace Nette\, ne Nette\Utils\

Editoval redhead (12. 1. 2011 21:43)

Tomáš Votruba
Moderator | 1114
+
0
-

Zkoušel jsem vše možné, aj podle složky, ve které to je ve složce Nette.

Výborně, už (zatím) vše funguje, díky za rady.