Skip to content

Commit b409c9e

Browse files
committed
各个模式启动分离
1 parent 623c5c4 commit b409c9e

File tree

5 files changed

+89
-12
lines changed

5 files changed

+89
-12
lines changed

bin/cli

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ require(ROOT_PATH . 'vendor/linkphp/loader/src/Loader.php');
2020
//加载LinkPHP框架启动文件
2121
$app = require_once(ROOT_PATH . 'src/bootstrap.php');
2222

23-
$request = $app->make(\linkphp\http\HttpRequest::class);
24-
2523
$app->event(
2624
'error',
2725
\bin\provider\ErrorProvider::class
@@ -32,8 +30,16 @@ $app->event(
3230
\bin\provider\ConsoleProvider::class
3331
);
3432

35-
$request->setRequestHttpAccept('console');
33+
$kernel = $app->make(bin\console\Kernel::class);
34+
35+
$kernel->request();
36+
37+
$httpRequest = $app->make(linkphp\http\HttpRequest::class);
38+
39+
$httpRequest->setRequestHttpAccept('console');
3640

37-
$app->request()
38-
->response('linkphp\\console\\Console');
41+
$httpRequest->setData(
42+
$app->make(linkphp\console\Console::class)
43+
->getReturnData()
44+
)->send();
3945
//这是命令行执行入口文件

bin/console/Kernel.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
namespace bin\console;
4+
5+
use linkphp\Kernel as ConsoleKernel;
6+
7+
class Kernel extends ConsoleKernel
8+
{
9+
10+
public function request($config = null)
11+
{
12+
// TODO: Implement request() method.
13+
$this->_app->event('error');
14+
15+
if(isset($config)){
16+
$this->_app->make(\linkphp\console\Console::class)
17+
->setDaemon(true)
18+
->setDaemonConfig($config);
19+
}
20+
21+
$this->_app->event('console');
22+
// TODO: Implement response() method.
23+
/**
24+
* 设置应用启动中间件并监听执行
25+
*/
26+
$this->_app->hook('appMiddleware');
27+
28+
29+
30+
$this->_app->hook('destructMiddleware');
31+
}
32+
33+
}

bin/httpd

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ $app->event(
3535
\app\provider\RouterProvider::class
3636
);
3737

38-
$request = $app->make(
39-
\linkphp\http\HttpRequest::class
40-
);
38+
$httpRequest = $app->make(linkphp\http\HttpRequest::class);
39+
40+
$httpRequest->setRequestHttpAccept('console');
4141

42-
$request->setRequestHttpAccept('console');
42+
$kernel = $app->make(bin\console\Kernel::class);
4343

44-
$app->request(LOAD_PATH . 'httpd.php');
44+
$kernel->request(LOAD_PATH . 'httpd.php');
4545
//这是命令行执行入口文件

src/application/Kernel.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace app;
4+
5+
use linkphp\Kernel as RouterKernel;
6+
7+
class Kernel extends RouterKernel
8+
{
9+
10+
public function request($config = null)
11+
{
12+
// TODO: Implement request() method.
13+
$this->_app->event('error');
14+
$this->_app->event('router');
15+
// TODO: Implement response() method.
16+
/**
17+
* 设置应用启动中间件并监听执行
18+
*/
19+
$this->_app->hook('appMiddleware');
20+
$this->_app->get(\linkphp\router\Router::class)
21+
->setPath(
22+
$this->_app->input('server.PATH_INFO')
23+
)->setGetParam($this->_app->input('get.'))
24+
->parser()
25+
->dispatch();
26+
27+
$this->_app->hook('destructMiddleware');
28+
}
29+
30+
}

src/web/index.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,16 @@
2929
\app\provider\RouterProvider::class
3030
);
3131

32-
$app->request()
33-
->response('linkphp\\router\\Router',true);
32+
$kernel = $app->make(app\Kernel::class);
33+
34+
$kernel->request();
35+
36+
$httpRequest = $app->make('linkphp\http\HttpRequest');
37+
38+
$httpRequest->setData(
39+
$app->make(linkphp\router\Router::class)
40+
->getReturnData()
41+
)->send();
3442

3543
//只需要这么几句话就可以运行 !><!
3644
//是不是很轻便呀 喵~

0 commit comments

Comments
 (0)