Routovani pro CLI a web samostatne

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

Cau,
poradi nekdo jakym zpusobem muzu udelat, aby nektery routy fungovali pouze z CLI? Ted mam tohle

public static function createRouter(Nette\DI\Container $container)
	{
		$router = new RouteList;
                if ($container->parameters['consoleMode'])
                {
                    $router[] = new CliRouter(array('action' => 'Statistika:Add'));
                }
                else
                {
                    $router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
                }
		return $router;
	}

Ted kdyz zadam pres web, tak se me action taky vykona a to nechci. Je moznost tohle resit v routach a nebo musim v kazdym presenteru resit, jestli je pozadavek z CLI? Dik

CZechBoY
Člen | 3608
+
0
-

Chceš mít jinou URL (router) v CLI nebo povolit (checkRequirements) akci jen na webu?

radik
Člen | 21
+
0
-

Potrebuji, aby neco jelo jen z CLI a pres web to odpovedelo, ze to neexistuje. Pripadne pro nektery veci i naopak.

CZechBoY
Člen | 3608
+
0
-

Tak můžeš klidně v tom checkRequirements vyhodit error 404 pokud to (ne)běží z CLI.
Nebo přímo v actionXXX metodě.

Editoval CZechBoY (23. 10. 2016 11:53)

radik
Člen | 21
+
0
-

Jo, to jsem si myslel, ale cekal jsem, ze by to slo udelat i treba na urovni routeru.

F.Vesely
Člen | 369
+
0
-

Nevim, na co presne CLI pouzivas, ale zkus se podivat na Kdyby/Console

radik
Člen | 21
+
0
-

Externim scriptem si chci zapisovat do DB nejaky udaje a protoze se to tyka jednoho modelu, tak bych to chtel mit u sebe vsechno.