Skip to content

Commit

Permalink
up: update the web/cli app init logic
Browse files Browse the repository at this point in the history
  • Loading branch information
inhere committed May 22, 2022
1 parent b3bc65c commit 8178f30
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 70 deletions.
57 changes: 2 additions & 55 deletions app/Console/CliApplication.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,12 @@
use Inhere\Console\Application;
use Inhere\Console\ConsoleEvent;
use Inhere\Console\GlobalOption;
use Inhere\Kite\Common\Log\CliLogProcessor;
use Inhere\Kite\Component\ScriptRunner;
use Inhere\Kite\Concern\InitApplicationTrait;
use Inhere\Kite\Console\Component\AutoSetProxyEnv;
use Inhere\Kite\Console\Listener\BeforeCommandRunListener;
use Inhere\Kite\Console\Listener\BeforeRunListener;
use Inhere\Kite\Console\Listener\NotFoundListener;
use Inhere\Kite\Console\Manager\ToolManager;
use Inhere\Kite\Console\Plugin\PluginManager;
use Inhere\Kite\Kite;
use Inhere\Kite\Lib\Jump\QuickJump;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Logger;
use Throwable;
use Toolkit\Stdlib\Obj\ObjectBox;
use function date_default_timezone_set;
Expand Down Expand Up @@ -78,54 +71,8 @@ protected function registerServices(ObjectBox $box): void
{
$this->registerComServices($box);

// override logger, add processor
$box->set('logger', function () {
$config = $this->config()->getArray('logger');
$logger = new Logger($config['name'] ?? 'kite');
$logger->pushProcessor(new CliLogProcessor());

$handler = new RotatingFileHandler($config['logfile']);
$logger->pushHandler($handler);
return $logger;
}, true);

$box->set('plugManager', function () {
$config = $this->config()->getArray('pluginManager');
return new PluginManager($config);
});

$box->set('toolManager', function () {
$config = $this->config()->getArray('toolManager');
return new ToolManager($config);
});

$box->set('scriptRunner', function () {
$config = $this->config()->getArray('scriptRunner');
$scripts = $this->config()->getArray('scripts');

// create object
$sr = new ScriptRunner($config);
$sr->setScripts($scripts);
$sr->scriptDirs = $this->config()->getArray('scriptDirs');

return $sr;
});

$box->set('jumper', function () {
$jumpConf = $this->config()->getArray('jumper');
return QuickJump::new($jumpConf);
});

// auto proxy setting
$box->set('autoProxy', function () {
$autoProxy = $this->config()->getArray('autoProxy');
return AutoSetProxyEnv::new($autoProxy);
});

// $box->set('envLoader', function () {
// $jumpConf = $this->config()->getArray('osEnv');
// return QuickJump::new($jumpConf);
// });
// register services
require 'services.php';
}

protected function initAppRun(): void
Expand Down
69 changes: 69 additions & 0 deletions app/Console/services.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<?php
/**
* register services to cli-app
*
* @var Toolkit\Stdlib\Obj\ObjectBox $box
*/

use Inhere\Kite\Common\Log\CliLogProcessor;
use Inhere\Kite\Component\ScriptRunner;
use Inhere\Kite\Console\Component\AutoSetProxyEnv;
use Inhere\Kite\Console\Manager\ToolManager;
use Inhere\Kite\Console\Plugin\PluginManager;
use Inhere\Kite\Lib\Jump\QuickJump;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Logger;

// override logger, add processor
$box->set('logger', function () {
$config = $this->config()->getArray('logger');
$logger = new Logger($config['name'] ?? 'kite');
$logger->pushProcessor(new CliLogProcessor());

$handler = new RotatingFileHandler($config['logfile']);
$logger->pushHandler($handler);
return $logger;
}, true);

$box->set('plugManager', function () {
$config = $this->config()->getArray('pluginManager');
return new PluginManager($config);
});

$box->set('toolManager', function () {
$config = $this->config()->getArray('toolManager');
$tools = $this->config()->getArray('tools');

$mgr = new ToolManager($config);
$mgr->setTools($tools);

return $mgr;
});

$box->set('scriptRunner', function () {
$config = $this->config()->getArray('scriptRunner');
$scripts = $this->config()->getArray('scripts');

// create object
$sr = new ScriptRunner($config);
$sr->setScripts($scripts);
$sr->scriptDirs = $this->config()->getArray('scriptDirs');

return $sr;
});

$box->set('jumper', function () {
$jumpConf = $this->config()->getArray('jumper');
return QuickJump::new($jumpConf);
});

// auto proxy setting
$box->set('autoProxy', function () {
$autoProxy = $this->config()->getArray('autoProxy');
return AutoSetProxyEnv::new($autoProxy);
});

// $box->set('envLoader', function () {
// $jumpConf = $this->config()->getArray('osEnv');
// return QuickJump::new($jumpConf);
// });
17 changes: 2 additions & 15 deletions app/Http/WebApplication.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

use Inhere\Kite\Concern\InitApplicationTrait;
use Inhere\Kite\Kite;
use Inhere\Route\Dispatcher\Dispatcher;
use Inhere\Route\Router;
use PhpPkg\EasyTpl\EasyTemplate;
use Throwable;
Expand Down Expand Up @@ -76,20 +75,8 @@ protected function registerServices(ObjectBox $box): void
{
$this->registerComServices($box);

$box->set('webRouter', function () {
return new Router();
});

$box->set('renderer', function () {
$config = $this->config()->getArray('renderer');
return new EasyTemplate($config);
});

$box->set('dispatcher', [
'class' => Dispatcher::class,
// prop settings
'actionSuffix' => '',
]);
// register services
require 'services.php';
}

protected function initAppRun(): void
Expand Down
25 changes: 25 additions & 0 deletions app/Http/services.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php
/**
* register services to web-app
*
* @var Toolkit\Stdlib\Obj\ObjectBox $box
*/

use Inhere\Route\Dispatcher\Dispatcher;
use Inhere\Route\Router;
use PhpPkg\EasyTpl\EasyTemplate;

$box->set('webRouter', function () {
return new Router();
});

$box->set('renderer', function () {
$config = $this->config()->getArray('renderer');
return new EasyTemplate($config);
});

$box->set('dispatcher', [
'class' => Dispatcher::class,
// prop settings
'actionSuffix' => '',
]);

0 comments on commit 8178f30

Please sign in to comment.