我想构建一个zend framework2基础Web应用程序,我需要使用来自Shopware的电子商务引擎。我需要在我的网络应用中使用Shopware提供的购物车和结账功能。我的问题是:
更新:目前我的zf2结构是这样的
答案 0 :(得分:1)
您可以使用以下代码示例访问DI-Container的商品:
<?php
$shopwarePath = '/some/path/where/shopware/is';
// initialize shopware autloader
require $shopwarePath . '/autoload.php';
// create and boot kernel / prepare di container
$shopwareKernel = new \Shopware\Kernel('production', false);
$shopwareKernel->boot();
// get a service from the di container
$acl = $shopwareKernel->getContainer()->get('acl');
/** @var \Shopware_Components_Acl $acl */
$acl->isAllowed('local_admins', 'order', 'create'); // returns true
要启动实际调度,您必须将请求传递给内核句柄方法(https://github.com/shopware/shopware/blob/master/shopware.php#L109):
$request = new \Symfony\Component\HttpFoundation\Request::createFromGlobals();
$shopwareKernel->handle($request)
->send();
您也可以将现有的ZF2 Request对象转换为兼容shopware的请求对象,并将其传递给内部调度程序。 我们使用Symfony请求执行类似的操作:https://github.com/shopware/shopware/blob/master/engine/Shopware/Kernel.php#L145