前提・実現したいこと
Symfony、PHPで動いているシステムのPHPを5.6から7.3に上げた際、下記エラーが出ました。
constructに2つの変数が渡されていることが原因のようですが、
どのように変更すればいいのか分かりません。
発生している問題・エラーメッセージ
Type error: Too few arguments to function AppBundle\Form\Type\Staff\InitialSettingType::__construct(), 0 passed in /home/vagrant/Symfony/vendor/symfony/symfony/src/Symfony/Component/Form/FormRegistry.php on line 92 and exactly 2 expected
該当のソースコード
InitialSettingType.php
PHP
1class InitialSettingType extends AbstractType 2{ 3 protected $container; 4 protected $staff; 5 6 /** 7 * コンストラクタ 8 */ 9 public function __construct($container, $staff) 10 { 11 $this->container = $container; 12 $this->staff = $staff; 13 } 14 15public function buildForm(FormBuilderInterface $builder, array $options) 16 { 17 $requiredShop = true; 18 if ($this->staff->isHq()) { 19 $requiredShop = false; 20 } 21 22 // 使用例 23 // ニックネーム 24 $builder->add("nickname", "text", array( 25 "required" => $requiredShop, 26 )); 27 //サイズ 28 $builder->add("topsSize", "choice", array( 29 'choices' => $this->container->getParameter('tops_size'), 30 "required" => false, 31 )); 32
試したこと
それぞれの変数を削除してみましたが、
エラーAttempted to call an undefined method named ...
が返りました。
補足情報(FW/ツールのバージョンなど)
PHP 7.3
Symfony 3.4
あなたの回答
tips
プレビュー