|
@@ -2,12 +2,16 @@
|
|
|
use Dever;
|
|
|
class Cmd
|
|
|
{
|
|
|
- public static function run($api, $app = false, $daemon = true)
|
|
|
+ public static function run($api, $param = array(), $app = false, $daemon = true)
|
|
|
{
|
|
|
if (strpos($api, 'http') !== false) {
|
|
|
return self::shell('curl "' . $api . '"');
|
|
|
}
|
|
|
- if (!$app) {
|
|
|
+ if (strpos($api, '/')) {
|
|
|
+ $temp = explode('/', $api);
|
|
|
+ $app = $temp[0];
|
|
|
+ $api = str_replace($app . '/', '', $api);
|
|
|
+ } else {
|
|
|
$app = DEVER_APP_NAME;
|
|
|
}
|
|
|
$app = Dever::project($app);
|
|
@@ -15,11 +19,15 @@ class Cmd
|
|
|
return self::shell('curl "' . $app['path'] . $api . '"', $daemon);
|
|
|
} else {
|
|
|
$php = Dever::config('setting')['php'] ?? 'php';
|
|
|
- $temp = explode('?', $api);
|
|
|
- if (isset($temp[1])) {
|
|
|
- parse_str($temp[1], $param);
|
|
|
+ if (strpos($api, '?')) {
|
|
|
+ $temp = explode('?', $api);
|
|
|
+ if (isset($temp[1])) {
|
|
|
+ parse_str($temp[1], $send);
|
|
|
+ $param = array_merge($param, $send);
|
|
|
+ }
|
|
|
+ $api = $temp[0];
|
|
|
}
|
|
|
- $param['l'] = $temp[0];
|
|
|
+ $param['l'] = $api;
|
|
|
return self::shell($php . ' ' . $app['path'] . 'index.php \'' . Dever::json_encode($param) . '\'', $daemon);
|
|
|
}
|
|
|
}
|