Could not load type "TextType::class" が解決できません

676 views
Skip to first unread message

toebisu...@gmail.com

unread,
Sep 14, 2016, 7:21:22 PM9/14/16
to 日本Symfonyユーザー会
書籍「基本からしっかり学ぶ Symfony2入門」を読みながらSymfonyの勉強をしています。

テキストどおりにコーディングしていたら次のエラーが発生しました。
Could not load type "text"

調べてみるとSymfony2から3での変更によるもので、Symfonyのバージョンはテキストでは2、自分の環境では3でした。
エラーを解決するために下記ソースで「★」の部分を追記・修正しましたが、次のエラーが発生してしまいます。
Could not load type "TextType::class"

このエラーを解決するにはどうすればよいでしょうか?

もしくは、Symfony3から2へのダウングレードの方法がわかればベターです。
(EC-CUBE3の勉強のためにSymfony2を学びたいため)

[環境]
Symfony version 3.1.4

[ソース]
<?php

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Component\Form\Extension\Core\Type\TextType;          // ★

/**
 * @Route("/Inquiry")
 */
class InquiryController extends Controller
{
  /**
   * @Route("/")
   * @Method("get")
   */
  public function indexAction()
  {
    $form = $this->createFormBuilder()
        ->add('name', 'TextType::class')          // ★
        ->add('email', 'TextType::class')          // ★
        ->add('tel', 'TextType::class', [          // ★
          'required' => false,
        ])
        ->getForm();

    return $this->render('Inquiry/index.html.twig',
        ['form' => $form->createView()]
    );
  }
}

poss...@gmail.com

unread,
Sep 14, 2016, 7:40:07 PM9/14/16
to symfony-...@googlegroups.com
シングルクオーテーションがついています。
オブジェクトなので、テキストとしての扱いではありません。

'TextType::class'
ではなく
TextType::class
にすれば動くはずです!

2016/09/15 8:21、toebisu...@gmail.com のメッセージ:

--
--
-------------------
Symfonyに関する疑問・質問、ユーザー会の活動やサイトに対するご意見、その他雑談など、お気軽にMLへ投稿してください!
 
 
日本Symfonyユーザー会
http://www.symfony.gr.jp/
 
日本Symfonyユーザー会メーリングリスト
http://groups.google.com/group/symfony-users-ja

---
このメールは Google グループのグループ「日本Symfonyユーザー会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには symfony-users-...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

toebisu...@gmail.com

unread,
Sep 14, 2016, 8:02:48 PM9/14/16
to 日本Symfonyユーザー会
ありがとうございます!
ご指摘どおりの修正でエラーは解決できました。
text以外のフォームも同様にxxxType::classを指定しました。

しかし、今度は別のエラーが出てしまいます・・・。
The option "extends" does not exist.

[ソース]
        ->add('type', ChoiceType::class, [
          'choices' => [
            '公演について',
            'その他',
          ],
          'extends' => true,
        ])

poss...@gmail.com

unread,
Sep 14, 2016, 8:36:57 PM9/14/16
to symfony-...@googlegroups.com
extendsのパラメータがないはずです。


オフィシャルのドキュメントみて設定してみてください。

2016/09/15 9:02、toebisu...@gmail.com のメッセージ:

toebisu...@gmail.com

unread,
Sep 14, 2016, 9:19:19 PM9/14/16
to 日本Symfonyユーザー会
スペルミスでした!お恥ずかしい(>_<)
extends → expanded


Reply all
Reply to author
Forward
0 new messages