Při změně config.local.neon na jinou databázi poté vrácení na předešlou

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

Dobrý den,

Mám takový problém, že na webu jsem potřeboval změnit databázi a při změně došlo k chybě.
Řekl jsem si, že to tedy radši nechám a vrátím tu předešlou.. ale co se stalo ani ta teď nefunguje.

Jméno, heslo atd. nastaveno 100% správně..

<?php
20: // Enable RobotLoader - this will load all classes automatically
21: $configurator->setTempDirectory(__DIR__ . '/../temp');
22: $configurator->createRobotLoader()
23:     ->addDirectory(__DIR__)
24:     ->addDirectory(__DIR__ . '/../libs')
25:     ->register();
26:
27: // Create Dependency Injection container from config.neon file
28: $configurator->addConfig(__DIR__ . '/config/config.neon', $configurator::NONE);
29: $configurator->addConfig(__DIR__ . '/config/config.local.neon', $configurator::NONE); // none section
30: $container = $configurator->createContainer(); // <- chyba se zdůrazňuje zde..
31:
32: return $container;

//
// Chyba: No service of type Nette\Application\IRouter found. Make sure the type hint in Method Nette\Application\Application::__construct() is written correctly and service of this type is registered.
//

?>

Editoval Muragosik (19. 1. 2015 18:27)

Mysteria
Člen | 797
+
0
-

A ta chyba je kde?

Muragosik
Člen | 9
+
0
-

Na řádku 30

Jan Tvrdík
Nette guru | 2595
+
0
-

Dobrej vtip. Co s tím jako máme dělat?

David Matějka
Moderator | 6445
+
0
-

Moment… jdu oprasit kristalovou kouli… a nebo napis, jakou chybu ti to hlasi..........

David Matějka
Moderator | 6445
+
0
-

Hm, mas pravdu – heslo a jmeno mas (asi) spravne.

Chyba totiz nesouvisi s databazi, ale – jak hlaska tak trosku napovida – ze neexistuje router…

Ukaz config.neon..

Muragosik
Člen | 9
+
0
-
<?php
parameters:
	images:
		maxWidth: 800
		maxHeight: 600
		basePath: "img/uploads/"
		tempDir: ""
	dbChangelog:
		dir: "changelog"
php:
	date.timezone: Europe/Prague
	# zlib.output_compression: yes

nette:
	application:
		errorPresenter: Error

	session:
		expiration: 14 days


services:
	database: @nette.database.default
	authenticator: Authenticator(@database::table('users'))
	routerFactory: RouterFactory
	router: @routerFactory::createRouter(@modelLoader)
	modelLoader:
		class: Local\ModelLoader
		arguments: [@container]

	imageHelper:
		class: \ImageHelper(@container)
	posts: \Models\Posts

factories:
	cache:
		class: Nette\Caching\Cache(@cacheStorage)
	emailMessage:
		class: \Nette\Mail\Message
		setup:
			- setMailer( Local\SendmailMailer(%productionMode%) )
?>
David Matějka
Moderator | 6445
+
0
-

Mas u RouterFactory takovouto return anotaci ?

Muragosik
Člen | 9
+
0
-

Ano mám

David Matějka
Moderator | 6445
+
0
-

Neni na serveru nejaky php accelerator (treba eAccellerator), ktery zahazuje phpdoc?

Zkus spustit requirements checker, jestli je vse ok (konkretne „Reflection phpDoc“)

Muragosik
Člen | 9
+
0
-

vše by mělo být pořádku..

David Matějka
Moderator | 6445
+
0
-

Divny, ukaz jeste kod toho RouterFactory

Muragosik
Člen | 9
+
0
-
<?php

use Nette\Application\Routers\RouteList,
	Nette\Application\Routers\Route,
	Nette\Application\Routers\SimpleRouter;


class RouterFactory
{

  private $container;

	public function __construct(\Nette\DI\Container $container) {
		// parent::__construct();
		$this->container = $container;
	}


	public function createRouter()
	{
		$router = new RouteList();

		$adminRouter = new RouteList('Admin');
		$adminRouter[] = new Route('admin/<presenter>/<action>[/<id>]', 'Homepage:default');
		$router[] = $adminRouter;

		$frontendRouter = new RouteList('Front');
		$frontendRouter[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);

		/* Categories */
		$frontendRouter[] = new Route('gify[/<page>]', 'Homepage:gifs');
		$frontendRouter[] = new Route('obrazky[/<page>]', 'Homepage:images');
		$frontendRouter[] = new Route('videa[/<page>]', 'Homepage:videos');

		// $frontendRouter[] = new Route('<id>', 'Homepage:post');
		$frontendRouter[] = new Route('post/<id>', array(
			'presenter' => 'homepage',
			'action' => 'post',
			'id' => array(
				Route::VALUE => NULL,
				Route::FILTER_IN => callback($this->container->modelLoader->posts, 'routeFilterIn'),
				Route::FILTER_OUT => callback($this->container->modelLoader->posts, 'routeFilterOut'),
			)
		));
		$frontendRouter[] = new Route('<page>', 'Homepage:default');
		$frontendRouter[] = new Route('', 'Homepage:default');
		$frontendRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
		$router[] = $frontendRouter;
		return $router;
	}

}

// Jak říkám v kodu si myslí, že chyba není, prostě z ničeho nic jsem, změnil databázi a navrátil poté původní
// Píše to:
// No service of type Nette\Application\IRouter found.
// Make sure the type hint in Method Nette\Application\Application::__construct() is written correctly
// and service of this type is registered.
?>
Mysteria
Člen | 797
+
0
-

O dva řádky nahoře, se tě ptají, jestli tam máš @return anotaci, ty napíšeš, že ji tam máš a přitom ji tam nemáš…

/** @return \Nette\Application\IRouter */
public static function createRouter() { ... }