工作机制如何在Sylius中动态生成服务,然后像get()方法中services.yml文件中配置的常规服务一样可用。工作机制如何在Sylius中动态生成服务?
我说的这种情况:
扩展底座型号 所有Sylius车型住在Sylius \分量\某某\型号命名空间与接口一起。例如,对于Sylius税收组件,它是TaxCategory和TaxRate。
我们假设您想要将“区域”字段添加到Sylius税率。
首先,您需要创建自己的TaxRate类,它将扩展基础模型。
namespace Acme\Bundle\ShopBundle\Entity;
use Sylius\Component\Addressing\Model\ZoneInterface; use Sylius\Component\Taxation\Model\TaxRate as BaseTaxRate;
class TaxRate extends BaseTaxRate { private $zone;
public function getZone()
{
return $this->zone;
}
public function setZone(ZoneInterface $zone)
{
$this->zone = $zone;
return $this;
}
}
最后,您配置类的应用程序/配置/ config.yml文件。
sylius_taxation: driver: doctrine/orm classes: tax_rate: model: Acme\ShopBundle\Entity\TaxRate # Your tax rate entity.
Sylius自动生成到像正常服务类的访问。
- 参数sylius.model.tax_rate.class包含Acme \ Bundle \ ShopBundle \ Entity \ TaxRate。
- sylius.repository.tax_rate表示您的新类的Doctrine存储库。
- sylius.manager.tax_rate表示您的新类的Doctrine对象管理器。 d- sylius.controller.tax_rate表示新类的控制器。
它是如何工作的?它是一个捆绑?这是非常好的解决方案。我想在Symfony2的自己的项目中实现这个机制。
不仅如此,但资源包为您提供了在ResourceController类CRUD funtionality开箱 – gvf