動作しない私は、コントローラのコンストラクタで(サービスおよびManagerRegistryの使用など)私の教義マネージャクラスを初期化する必要がありますが、symfonyはまだ、この例外がスローされます。教義マネージャークラスの注入は私のバンドルで
Type error: Too few arguments to function AdminBundle\Controller\RegistraceController::__construct(), 0 passed in C:\apache\htdocs\mujProjekt\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Controller\ControllerResolver.php on line 198 and exactly 1 expected
コントローラ:
namespace AdminBundle\Controller;
use AdminBundle\Manager\AdminManager;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
/**
* Class DefaultController
* @package AdminBundle\Controller
* @Route("/registrace")
*/
class RegistraceController extends Controller
{
/**
* @var AdminManager
*/
private $manager;
public function __construct(AdminManager $manager)
{
$this->manager = $manager;
}
...
Adminマネージャー:
namespace AdminBundle\Manager;
use AdminBundle\Entity\Uzivatel;
use Doctrine\Common\Persistence\ManagerRegistry;
class AdminManager
{
private $em;
public function __construct(ManagerRegistry $Doctrine)
{
$this->em = $Doctrine->getManager('default');
}
...
AdminBundle \ Resour ces \ config \ services.yml:
services:
# admin.example:
# class: AdminBundle\Example
# arguments: ["@service_id", "plain_value", "%parameter%"]
admin.admin_manager:
class: AdminBundle\Manager\AdminManager
arguments:
["@doctrine"]
私はキャッシュをクリアしようとしましたが、成功しませんでした。 AdminBundleのservices.ymlはconfig.ymlに正しく含まれています。 config.ymlで
ORMの設定:
orm:
auto_generate_proxy_classes: '%kernel.debug%'
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
AdminBundle: ~
私はsymfonyの3.3とPHP 7.1を使用しています。
あなたはS3.3を使用している+あなたが直接行動にあなたの管理サービスを注入を見てかかることがありますので:http://symfony.com/doc/current/controller.html#controller-accessing-servicesこれはまったく新しいものなので、古いチュートリアルに従えば混乱するのは簡単です。 – Cerad
ご連絡ありがとうございます。それは私のコントローラで今すぐうまく機能する便利な機能です。 – AtT0mX