本文整理汇总了PHP中Container::call方法的典型用法代码示例。如果您正苦于以下问题:PHP Container::call方法的具体用法?PHP Container::call怎么用?PHP Container::call使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Container
的用法示例。
在下文中一共展示了Container::call方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PDO
require_once CONTROLLER_DIR . '/RoutingController.php';
require_once CONTROLLER_DIR . '/DatabaseController.php';
require_once MODEL_DIR . '/ImageModel.php';
require_once MODEL_DIR . '/UserModel.php';
session_start();
$connection = new PDO('mysql:host=127.0.0.1;dbname=imagegallery;charset=utf8mb4', 'root', 'emil0609');
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$container = new Container();
$container->bindArguments('RoutingController', ['connection' => $connection, 'container' => $container]);
$container->bindArguments('ImageModel', ['connection' => $connection]);
$container->bindArguments('UserModel', ['connection' => $connection]);
$router = new Router();
$router->addRoute('GET', '/', ['RoutingController', 'renderLoginView']);
$router->addRoute('POST', '/login', ['LoginController', 'login']);
$router->addRoute('GET', '/gallery', ['RoutingController', 'renderGalleryView']);
$router->addRoute('GET', '/logout', ['LoginController', 'logout']);
$router->addRoute('GET', '/upload', ['RoutingController', 'renderUploadView']);
$router->addRoute('GET', '/users', ['RoutingController', 'renderUsersView']);
$router->addRoute('GET', '/create', ['RoutingController', 'test']);
$router->addRoute('GET', '/delete', ['UserModel', 'deleteUser']);
$router->addRoute('GET', '/getusers', ['UserModel', 'getUsers']);
$router->addRoute('POST', '/createimage', ['ImageModel', 'createImage']);
$router->addRoute('GET', '/getimages', ['ImageModel', 'getImages']);
$uri = rawurldecode(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
$route = $router->match($_SERVER['REQUEST_METHOD'], $uri);
if ($route == null) {
$route = ['handle' => ['ErrorController', 'error404'], 'arguments' => []];
}
$controller = $container->create($route['handle'][0]);
$container->call([$controller, $route['handle'][1]], $route['arguments']);
示例2: testCall
/**
* @param mixed $definition
*
* @dataProvider providerCall
*/
public function testCall($definition)
{
$di = new Container();
$this->assertInstanceOf('Lebran\\TestServiceProvider', $di->call($definition));
}