0

に基づく独自のフレームワークがありますSymfony 2.4。これは基本的に Symfony2 プロジェクト (複数のバンドル) です。あるプロジェクトでは、選択したウェブショップが必要Syliusです。私たち自身のプロジェクトには、異なるSyliusバージョンと共通するいくつかの依存関係があるため、それらを 1 つのプロジェクトで一緒に機能させることはできません。私はこれを機能させようとしましたが、エラーと不一致は無限であり、さらに使用されていました( 2.4 にアップグレードできるため、これはボトルネックではありません)。SyliusSymfony 2.3

ここでSylius、両方のプロジェクトで共有データベースを使用するスタンドアロン プロジェクトとしてホストすることを選択しました。Sylius のインストールは/web/shop/ディレクトリにあり、 を参照すると正常に機能しhttp://example.com/shop/ます。これら 2 つのプロジェクトが相互に通信できるようにしたいと考えています。独自のフレームワーク内から Sylius のサービスの一部を呼び出したり、その逆を行ったりできると便利です。

AppKernelサービスで使用して、Sylius 内で独自のフレームワークのインスタンス化を試みましたが、名前空間を持つクラスではrequire_onceできないため、私の試みはすべて失敗しました。require_once

これを行うにはどうすればよいですか?

これは私が実装しようとした無効なサービスであり、PHP Fatal error: Cannot mix bracketed namespace declarations with unbracketed namespace declarations例外が発生しました:

namespace Sylius\Bundle\CoreBundle;    
use Symfony\Component\HttpKernel\Kernel;

class MyFrameworkBridge {

    private $framework;

    public function __construct(Kernel $kernel) {
        $root = $kernel->getRootDir();
        $ownFrameworkDir = $root.'/../../../../source/app';

        require_once $ownFrameworkDir.'/bootstrap.php.cache';
        require_once $ownFrameworkDir.'/AppKernel.php';

        $this->framework = new AppKernel('dev'); // never reaches this line
    }

}
4

0 に答える 0