Přechod na Nette 2.1: No route for HTTP request
- jik
- Člen | 149
Zdravím,
vzhledem k narůstajícím potížím s PostgreSQL a informaci, že verze
2.1 hodně opravuje, rozhodl jsem se přejít na novou verzi. Vzal jsem
jednoduše aplikaci a nasadil na nový sandbox. Zatím končím na zprávě
No route for HTTP request.
Zatím jsem nic s routováním nedělal a nevšiml jsem si ničeho takového v popisu nekompatibilit.
- Pavel Macháň
- Člen | 282
jik napsal(a):
Zdravím,
vzhledem k narůstajícím potížím s PostgreSQL a informaci, že verze 2.1 hodně opravuje, rozhodl jsem se přejít na novou verzi. Vzal jsem jednoduše aplikaci a nasadil na nový sandbox. Zatím končím na zprávěNo route for HTTP request.
Zatím jsem nic s routováním nedělal a nevšiml jsem si ničeho takového v popisu nekompatibilit.
Ukaž jak a kde nastavuješ routy
- jik
- Člen | 149
Až dosud jsem se tím nezabýval a používal jsem sandbox z quickstartu z verze 2.0. Takže asi jenom bootstrap.php:
use Nette\Application\Routers\Route;
// Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';
// Configure application
$configurator = new Nette\Config\Configurator;
// Enable Nette Debugger for error visualisation & logging
//$configurator->setDebugMode($configurator::AUTO);
$configurator->enableDebugger(__DIR__ . '/../log');
// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');
$container = $configurator->createContainer();
// Setup router
$container->router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$container->router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
// Configure and run the application!
$container->application->run();
- Patrik Votoček
- Člen | 2221
Pokud jsi nasadil Sandbox 2.1 tak routy už se nenastavují v bootstrapu ale v RouterFactory
- jik
- Člen | 149
Jsem z toho pořád jelen. Hledám i nějakou jednoduchou aplikaci, která by byla postavena na takovéto kostře, ale nevidím. Namespace … pokud upravím config.neon
common
services:
routerFactory: Kada\RouterFactory
pak končím na
Class 'Kada\RouteList' not found
Editoval jik (31. 1. 2014 7:53)
- jiri.pudil
- Nette Blogger | 1032
Asi bys měl věnovat čas pročtení dokumentace.
tl;dr: Pokud ve jmenném prostoru Kada napíšeš RouteList a tu třídu nenaimportuješ:
use Nette\Application\Routers\RouteList;
ani nepoužiješ její FQCN, pak PHP jako poslední pokus před její název přilepí aktuální namespace.