工作機制如何在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