Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony-既不是财产;第一名;也没有一个方法在类中存在并具有公共访问权限”;Symfony\Component\Form\FormView“;_Php_Symfony_Fosuserbundle - Fatal编程技术网

Php Symfony-既不是财产;第一名;也没有一个方法在类中存在并具有公共访问权限”;Symfony\Component\Form\FormView“;

Php Symfony-既不是财产;第一名;也没有一个方法在类中存在并具有公共访问权限”;Symfony\Component\Form\FormView“;,php,symfony,fosuserbundle,Php,Symfony,Fosuserbundle,几个小时以来,我一直在阅读并找到解决这个问题的方法。但似乎我真的无法修复这个错误。我发现只有在FOS/UserBundle/form/Type/RegistrationFormType中添加表单时,它才会显示在细枝中。我想我在调用我的UserBundle/Form/RegistrationFormType时遇到了一些问题。 这件事急需帮助 我用的是FOSUserBundle 这是我的用户课程: <?php namespace UserBundle\Entity; use FOS\Use

几个小时以来,我一直在阅读并找到解决这个问题的方法。但似乎我真的无法修复这个错误。我发现只有在FOS/UserBundle/form/Type/RegistrationFormType中添加表单时,它才会显示在细枝中。我想我在调用我的UserBundle/Form/RegistrationFormType时遇到了一些问题。 这件事急需帮助

我用的是FOSUserBundle

这是我的用户课程:

<?php

namespace UserBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * @ORM\Column(name="first_name", type="string", length=255, nullable=false)
 * @Assert\NotBlank(message="Please enter your first name", groups={"Registration", "Profile"})
 */
protected $firstName;

/**
 * @ORM\Column(name="middle_name", type="string", length=255, nullable=false)
 * @Assert\NotBlank(message="Please enter your middle name", groups={"Registration", "Profile"})
 */
protected $middleName;

/**
 * @ORM\Column(name="last_name", type="string", length=255, nullable=false)
 * @Assert\NotBlank(message="Please enter your last name", groups={"Registration", "Profile"})
 */
protected $lastName;

/**
 * @ORM\Column(name="position", type="string", length=255, nullable=false)
 * @Assert\NotBlank(message="Please enter your position/title", groups={"Registration", "Profile"})
 */
protected $position;

/**
 * @ORM\Column(name="gender", type="string", length=255, nullable=false)
 * @Assert\NotBlank(message="Please chose your gender", groups={"Registration", "Profile"})
 */
protected $gender;

/**
 * @ORM\Column(name="birth_date", type="string", nullable=true)
 */
protected $birthDate;

/**
 * @ORM\Column(name="address", type="string", length=255, nullable=true)
 */
protected $address;

/**
 * @ORM\Column(name="school", type="string", length=255, nullable=true)
 */
protected $school;

/**
 * @ORM\Column(name="hired_date", type="string", nullable=false)
 */
protected $hiredDate;

/**
 * @ORM\Column(name="end_date", type="string", nullable=false)
 */
protected $endDate;

// Change the targetEntity path if you want to create the group

/**
 * @ORM\ManyToMany(targetEntity="UserBundle\Entity\Group")
 * @ORM\JoinTable(name="fos_user_user_group",
 *      joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}
 * )
 */
protected $groups;

public function __construct()
{
    parent::__construct();

}

/**
 * @return String
 */
public function getFirstName()
{
    return $this->firstName;
}

/**
 * @return String
 */
public function getMiddleName()
{
    return $this->middleName;
}

/**
 * @return String
 */
public function getLastName()
{
    return $this->lastName;
}

/**
 * @return String
 */
public function getPosition()
{
    return $this->position;
}

/**
 * @return String
 */
public function getGender()
{
    return $this->gender;
}

/**
 * @return String
 */
public function getBirthDate()
{
    return $this->birthDate;
}

/**
 * @return String
 */
public function getAddress()
{
    return $this->address;
}

/**
 * @return String
 */
public function getSchool()
{
    return $this->school;
}

/**
 * @return String
 */
public function getHiredDate()
{
    return $this->hiredDate;
}

/**
 * @return String
 */
public function getEndDate()
{
    return $this->endDate;
}

/**
 * @param String $firstName
 * @return User
 */
public function setFirstName($firstName)
{
    $this->firstName = $firstName;

    return $this;
}

/**
 * @param String $middleName
 * @return User
 */
public function setMiddleName($middleName)
{
    $this->middleName = $middleName;

    return $this;
}

/**
 * @param String $lastName
 * @return User
 */
public function setLastName($lastName)
{
    $this->lastName = $lastName;

    return $this;
}

/**
 * @param String $position
 * @return User
 */
public function setPosition($position)
{
    $this->position = $position;

    return $this;
}

/**
 * @param String $gender
 * @return User
 */
public function setGender($gender)
{
    $this->gender = $gender;

    return $this;
}

/**
 * @param String $birthDate
 * @return User
 */
public function setBirthDate($birthDate)
{
    $this->birthDate = $birthDate;

    return $this;
}

/**
 * @param String $address
 * @return User
 */
public function setAddress($address)
{
    $this->address = $address;

    return $this;
}

/**
 * @param String $school
 * @return User
 */
public function setSchool($school)
{
    $this->school = $school;

    return $this;
}

/**
 * @param String $hiredDate
 * @return User
 */
public function setHiredDate($hiredDate)
{
    $this->hiredDate = $hiredDate;

    return $this;
}

/**
 * @param String $endDate
 * @return User
 */
public function setEndDate($endDate)
{
    $this->endDate = $endDate;

    return $this;
}
}
这是我的配置.yml

<?php

namespace UserBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class RegistrationType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('firstName', 'text', array('label' => 'form.first_name', 'translation_domain' => 'FOSUserBundle'))
            ->add('middleName', 'text', array('label' => 'form.middle_name', 'translation_domain' => 'FOSUserBundle'))
            ->add('lastName', 'text', array('label' => 'form.last_name', 'translation_domain' => 'FOSUserBundle'))
            ->add('position', 'text', array('label' => 'form.position', 'translation_domain' => 'FOSUserBundle'))
            ->add('gender', 'text', array('label' => 'form.gender', 'translation_domain' => 'FOSUserBundle'))
            ->add('birthDate', 'date', array('label' => 'form.birth_Date', 'translation_domain' => 'FOSUserBundle'))
            ->add('address', 'text', array('label' => 'form.address', 'translation_domain' => 'FOSUserBundle'))
            ->add('school', 'text', array('label' => 'form.school', 'translation_domain' => 'FOSUserBundle'))
            ->add('hiredDate', 'date', array('label' => 'form.hired_date', 'translation_domain' => 'FOSUserBundle'))
            ->add('endDate', 'text', array('label' => 'form.end_date', 'translation_domain' => 'FOSUserBundle'))
        ;
    }

    public function getParent()
    {
        return 'fos_user_registration';
    }

    public function getName()
    {
        return 'user_registration';
    }
}
services:
    app.form.registration:
        class: UserBundle\Form\RegistrationFormType
        tags:
            - { name: form.type, alias: user_registration }
fos_user:
db_driver: orm
firewall_name: main
user_class: UserBundle\Entity\User
group:
    group_class: UserBundle\Entity\Group
profile:
    form:
        type: UserBundle\Form\ProfileFormType 
registration:
    form:
        name: user_registration
这是我的小树枝:我想给我创造的所有其他实体打电话

{{ form_widget(form.first_name) }}
{{ form_widget(form.last_name) }}
{{ form_widget(form.middle_name) }}
// and so on...

这样称呼它:
{{form\u小部件(form.firstName)}


在您的表单中,它是
名字
,而不是
名字
。lastname和middlename相同

解决方案是否解决了您的问题?当我尝试调用标签
{{{'profile.show.firstName'}
仅显示form.user.firstName时,会发生这种情况。我认为问题确实出在表单生成器上。我不知道是什么。我也不能显示
{{app.user.firstName}}
和所有其他新实体。什么?这和你之前的问题完全不同。。。或者你忘了在帖子里解释什么。你从来没有提到过
{{profile.show.firstName}
{{app.user.firstName}}
…对不起,我的错。这是表格的标签。就像
{{'profile.show.username'{124; trans({},'FOSUserBundle')}
{{'profile.show.email'{'trans({},'FOSUserBundle')}
一样。我忘了跨部分。也许我现在真的很累。我想我可以自己修好。我以前遇到过这种情况。谢谢。)顺便说一句,我们的老板希望所有其他新实体只能在用户编辑页面中访问。他想要的是,只有原始的
用户名
电子邮件
密码
密码确认
字段在用户注册表中可用。仅在注册用户get后,才能在用户编辑页面中填写所有其他新实体。对不起,如果这是我的另一个问题。为了更清楚地表达我的任务,我现在正在用图片提出一个新问题。