【问题标题】:Integrating Sylius packages into Laravel project将 Sylius 包集成到 Laravel 项目中
【发布时间】:2014-09-12 15:54:36
【问题描述】:

我正在尝试在我正在构建的 Laravel 项目中使用一些 Sylius 包。我已经使用 composer 将包添加到我的项目中,并且这些类似乎可以很好地自动加载。

现在我想用它做点什么。让我们从 Sylius 文档中举一个简单的例子:

public function myAction()
{
    $repository = $this->container->get('sylius.repository.address');
    $manager = $this->container->get('sylius.manager.address'); // Alias to the appropriate doctrine manager service.

    $address = $repository->createNew();

    $address
        ->setFirstname('John')
        ->setLastname('Doe')
    ;

    $manager->persist($address);
    $manager->flush(); // Save changes in database.
}

我想在 Laravel 中重新创建类似的东西。我创建了一个简单的测试路线来尝试这个,但我的问题是:

  • 如何获取存储库?
  • 如何获得 Doctrine manager 服务?

所以我还包含 laravel-doctrine 包以尝试获取管理器服务,然后我只是手动创建了一个 Product 对象,所以现在我有了:

Route::get('test', function() {
  $entityManager = new Doctrine;

  $product = new \Sylius\Component\Core\Model\Product;
  $product->setName('Bla');

  Doctrine::persist($product);
  Doctrine::flush();

  dd($product);
});

这会产生错误:Class "Sylius\Component\Core\Model\Product" sub class of "Sylius\Component\Product\Model\Product" is not a valid entity or mapped super class.

我不确定下一步该去哪里。我对 Doctrine 的理解是有限的,但我的理解是 Sylius 组件与 Symfony 是解耦的,我可以直接使用它们。但似乎注释(或 xml 定义)不存在,Doctrine 无法正常运行。

任何方向都将不胜感激!

【问题讨论】:

    标签: symfony laravel doctrine-orm sylius


    【解决方案1】:

    Laravel 和 symfony 完全不同。你不能在 laravel 项目中使用 symfony 包。如果你想使用 Sylius,你必须使用 Symfony 框架。如果你想使用 laravel,你必须搜索另一个电子商务平台。

    【讨论】:

    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 2019-08-23
    • 2014-08-08
    • 2014-11-07
    相关资源
    最近更新 更多