【发布时间】:2017-07-11 15:48:47
【问题描述】:
我正在为 DI 使用纤细的桥接器。
说,我想从 AController 调用 BController 中的函数'second'。
namespace App\Controllers;
use Psr\Http\Message\RequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Noodlehaus\Config as Config;
class BController extends Controllers {
public function second(Request $request, Response $response, Config $config, $optional = []){
// do stuff
}
我如何调用第二个函数,只传递我想要发送的参数(在这种情况下为 $optional)而不是所有其他依赖项,如请求或响应。
class AController extends Controllers{
public function second(Request $request, Response $response, BController $bController){
$bController->second(['custom parameter']);
// or
$this->container->get('App/Controllers/BCOntroller')->second();
// i do not want this
$bController->second($request, $response, $cache, etc etc);
}
}
我试图遵循路由逻辑。'first'函数在不发送参数的情况下执行
$app->get('/', ['\App\Controllers\AController', 'first']);
【问题讨论】:
-
第二个控制器需要什么功能?
-
显然是第二个功能?
-
显然。祝你好运。
-
问题本身与第二个函数的功能没有远程关系。还是谢谢
标签: php dependency-injection slim