baseUri a cesty k souborům
- Honca
- Člen | 28
Zdravím,
mám menší dilema ohledně proměnné $baseUri. V příkladu akrabat mi
vypisuje správně cestu k souborům (např.
/akrabat/document_root/css/main.css), ale když si vytvořím nový projekt, tak
mi tam už prostě v té cestě chybí ten document_root a přitom používám
jako základ právě ten akrabat. Nevím, kde jsem udělal chybu, ale už mě
nic nenapadá. Možná se to dá někde nastavit jako
Environment::setVariable(), ale když to dobře funguje v tom akrabatu, proč
to nefunguje správně i dál?? :-)
No a nehledě na to, že bych třeba vůbec nechtěl mít v cestě k souborům
uvedený ten /document_root/… a přitom bych chtěl zachovat původní
adresářovou strukturu aplikace tak, jak je to třeba na Rootu..
Díky za případnou pomoc..
Honza
- Honca
- Člen | 28
No projekt mám umístěný na stejný úrovni jako akrabat, takže mám /localhost/akrabat a stejně tak i /localhost/projekt..
bootstrap.php je
<?php
// Step 1: Load Nette Framework
// this allows load Nette Framework classes automatically so that
// you don't have to litter your code with 'require' statements
require LIBS_DIR . '/Nette/loader.php';
// Step 2: Configure environment
// 2a) enable Nette\Debug for better exception and error visualisation
Debug::enable(Environment::DEVELOPMENT);
// 2b) load configuration from config.ini file
//Environment::loadConfig();
// 2c) check if directory /app/temp is writable
if (@file_put_contents(Environment::expand('%tempDir%/_check'), '') === FALSE) {
throw new Exception("Make directory '" . Environment::getVariable('tempDir') . "' writable!");
}
// 2d) enable RobotLoader - this allows load all classes automatically
$loader = new RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->register();
// Step 3: Configure application
// 3a) get and setup a front controller
$application = Environment::getApplication();
// 3b) establish database connection
$application->onStartup[] = 'Model::initialize';
// Step 4: Setup application router
$router = $application->getRouter();
// mod_rewrite detection
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$router[] = new Route('index.php', array(
'presenter' => 'Main',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('<presenter>/<action>/<id>', array(
'presenter' => 'Main',
'action' => 'default',
'id' => NULL,
));
} else {
$router[] = new SimpleRouter('Main:default');
}
// Step 5: Run the application!
$application->run();
?>
a index.php
<?php
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/libs');
// load bootstrap file
require APP_DIR . '/bootstrap.php';
?>
- David Grudl
- Nette Core | 8228
Teoreticky nemusí dobře fungovat autodetekce. V takovém případě se dá
nastavit baseUri manuálně
přes Environment::setVariable('baseUri', ...);