symfony 3.2アプリケーションでsonata adminとmediabundleを使用しています。Sonata存在しないサービス "リクエスト"をリクエストしました
composer.json
"sonata-project/admin-bundle": "3.x-dev",
"sonata-project/doctrine-orm-admin-bundle": "4.x-dev",
"sonata-project/media-bundle": "4.x-dev",
"sonata-project/intl-bundle": "2.x-dev"
sf3 sonata:easy-extends:generate --dest=src SonataMediaBundle
はその後、私のエンティティで、私はメディアのエンティティとの関係を追加するドキュメントに言ったように私はmediabundle生成:
/**
* @ORM\OneToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"})
* @ORM\JoinColumn(name="image_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $image;
私はソナタを設定doc:
で述べたメディア私はこのエラーを取得画像を追加しようとするとsonata_media:
db_driver: doctrine_orm
default_context: default
contexts:
default:
providers:
- sonata.media.provider.image
- sonata.media.provider.file
formats:
small: { width: 100 , quality: 70}
big: { width: 500 , quality: 70}
filesystem:
local:
directory: "%kernel.root_dir%/../web/uploads/media"
cdn:
server:
path: /uploads/media # http://media.sonata-project.org/
、その後は私の管理者
->add('logo', 'sonata_type_model_list', array('required' => false), array(
'link_parameters' => ['provider'=>'sonata.media.provider.image'],
'label' => 'Logo',
'context' => 'default',
'required' => false,
))
にこれを追加しました:
You have requested a non-existent service "request". Did you mean one of these: "data_collector.request", "monolog.logger.request", "request_stack", "router.request_context", "sonata.intl.locale_detector.request_stack", "validate_request_listener"?
ので、私はそれはの$ this - を使うかを理解しようとします> 、コンテナ>(「リクエスト」)を取得しますが、私はソナタコードで、それはのようなものを使用することを見つける:正しいと思われること
if ($this->container->has('request_stack')) {
return $this->container->get('request_stack')->getCurrentRequest();
}
return $this->container->get('request');
。 なぜこのエラーが出るのですか?
開発版を使用することはまったく推奨されませんが、なぜそうしていますか? – greg0ire
私はプロジェクトを作成するときにsymfony 3.2もまた開発者であり、依存関係に多くの問題があります。 – Mattia
symfony 3.2もdevにある場合、それを使用しないでください。開発版はあなたのためのものではありません。これは、bc-breakingの変更を次のバージョンに提供したい人向けです。 – greg0ire