Odmítání T_USE online? „Parse error: syntax error, unexpected T_USE in… “
- Tomáš Votruba
- Moderator | 1114
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.
- Tomáš Votruba
- Moderator | 1114
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.
- Tomáš Votruba
- Moderator | 1114
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.