Cli – chyba v request parametru
- Pipaslot
- Člen | 19
Zdravím. Mám PHP 5.3, verzi nette 2.03 a snažím se zprovoznit Cli
routování. Z nějakého mě nejasného důvodu mi Nette stále hlásí
chybu:
Fatal error: Argument 3 passed to Nette\Application\Request::__construct() must
be an array, string given, called in
/srv/var/www/delfinet/libs/Nette/loader-min.php on line 1474 and defined in
/srv/var/www/delfinet/libs/Nette/loader-min.php:1377 @ cli:
/srv/var/www/delfinet/www/index.php Cli:default
Pokoušel jsem se vše zprovoznit podle manuálu ale stále se
nedaří. Netušíte někdo co stále dělám špatně? Předem díky za
odpověď.
bootstrap.php:
use Nette\Application\Routers\Route,
Nette\Application\Routers\RouteList,
Nette\Application\Routers\SimpleRouter,
Nette\Application\Routers\CliRouter,
Nette\Diagnostics\Debugger;
// Load Nette Framework
require LIBS_DIR . '/Nette/loader-min.php';
// Configure application
$configurator = new Nette\Config\Configurator;
$configurator->setTempDirectory(__DIR__ . '/../temp');
// Enable Nette Debugger for error visualisation & logging
$configurator->enableDebugger(__DIR__ . '/../log');
// Enable RobotLoader - this will load all classes automatically
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config.neon');
$container = $configurator->createContainer();
// Init application
$application = $container->application;
// Setup router using mod_rewrite detection
if ($container->params['consoleMode']) {
$application->allowedMethods = FALSE;
$container->router[] = new CliRouter('Cli:default');
}
elseif (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$container->router[] = new Route('index.php', 'Front:Uvod:default', Route::ONE_WAY/*,Route::SECURED*/);
$container->router[] = $adminRouter = new RouteList('Klient');
$adminRouter[] = new Route('klient/<presenter>/<action>', 'MujUcet:default'/*,Route::SECURED*/);
$container->router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Uvod:default'/*,Route::SECURED*/);
}
else {
$container->router[] = new SimpleRouter('Front:Uvod:default'/*,Route::SECURED*/);
}
// Run the application!
$container->application->run();
Presenter:
class CliPresenter extends BasePresenter
{
function actionDefault()
{
echo "Cli echo Nette";
$this->terminate();
}
function actionDaily()
{
echo "Daily výpisek";
$this->terminate();
}
}
- nanuqcz
- Člen | 822
Ahoj, tohle jsem taky před pár měsíci na fóru řešil, bohužel nikdo mi
neodpověděl. Asi CliRouter
nikdo z komunity
nepoužívá :-)
Každopádně, jak jsem CliRouter
nakonec rozběhl, můžeš
najít ve
zmíněném vlákně.