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