无法识别PhpStorm Symfony 4 ContactType类
我今天有一个很烦人的问题。我正在使用Macbook Pro,PhpStorm 2017.3.6 我试图创建一个简单的Symfony 4联系人表单,但PhpStorm出现了一些问题,根本无法识别“联系人类型”类。我已经试过:无法识别PhpStorm Symfony 4 ContactType类,php,symfony,phpstorm,symfony4,Php,Symfony,Phpstorm,Symfony4,我今天有一个很烦人的问题。我正在使用Macbook Pro,PhpStorm 2017.3.6 我试图创建一个简单的Symfony 4联系人表单,但PhpStorm出现了一些问题,根本无法识别“联系人类型”类。我已经试过: 清除PhpStorm缓存并使其无效 清除Symfony缓存 重新启动Macbook 更新至2017年3月6日的PhpStorm 我还尝试使用其他名称创建formType,例如ToToToType,它正在工作,因此只有ContactType不起作用 我也使用git,所以可能
- 清除PhpStorm缓存并使其无效
- 清除Symfony缓存
- 重新启动Macbook
- 更新至2017年3月6日的PhpStorm
ToToToType
,它正在工作,因此只有ContactType
不起作用
我也使用git,所以可能是某个地方的“缓存”问题,或者是PhpStorm相关的问题
我还尝试使用其他名称创建formType,例如ToToToType
,它正在工作,因此只有ContactType
不起作用
根据截图。。。整个ContactType.php
文件被视为纯文本。。因此,IDE不识别该类也就不足为奇了
您一定是意外地将此文件标记为文本。要撤消:
设置/首选项|文件类型
- 在顶部列表中找到
文件类型条目Text
- 在底部列表中找到并删除有问题的模式——它将是
或非常类似的模式ContactType.php
我还注意到,PhpStorm突出显示了我的
Kernel.php
文件中的一些错误,就像这个屏幕截图一样,我不知道这些是否相关:
肯定与第一个问题无关——一定是其他问题
我还尝试使用其他名称创建formType,例如ToToToType
,它正在工作,因此只有ContactType
不起作用
根据截图。。。整个ContactType.php
文件被视为纯文本。。因此,IDE不识别该类也就不足为奇了
您一定是意外地将此文件标记为文本。要撤消:
设置/首选项|文件类型
- 在顶部列表中找到
文件类型条目Text
- 在底部列表中找到并删除有问题的模式——它将是
或非常类似的模式ContactType.php
我还注意到,PhpStorm突出显示了我的
Kernel.php
文件中的一些错误,就像这个屏幕截图一样,我不知道这些是否相关:
肯定与第一个问题无关——一定是其他问题。它是如何调用/创建的?请不要使用图像。我尝试了两种方法,使用console:php-bin/console-make:form和manualy:right-click->new-php类。同样的结果。对不起,这些图片是为了直观地显示出来。下一步只发布代码调用/创建代码是什么?请不要使用图像。我尝试了两种方法,使用console:php-bin/console-make:form和manualy:right-click->new-php类。同样的结果。对不起,这些图片是为了直观地显示出来。下一步将只发布代码
<?php
namespace App\Form;
use App\Entity\Contact;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ContactType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('field_name')
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
// uncomment if you want to bind to a class
//'data_class' => Contact::class,
]);
}
}
<?php
namespace App;
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
use Symfony\Component\Routing\RouteCollectionBuilder;
class Kernel extends BaseKernel
{
use MicroKernelTrait;
const CONFIG_EXTS = '.{php,xml,yaml,yml}';
public function getCacheDir()
{
return $this->getProjectDir().'/var/cache/'.$this->environment;
}
public function getLogDir()
{
return $this->getProjectDir().'/var/log';
}
public function registerBundles()
{
$contents = require $this->getProjectDir().'/config/bundles.php';
foreach ($contents as $class => $envs) {
if (isset($envs['all']) || isset($envs[$this->environment])) {
yield new $class();
}
}
}
protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader)
{
$container->setParameter('container.autowiring.strict_mode', true);
$container->setParameter('container.dumper.inline_class_loader', true);
$confDir = $this->getProjectDir().'/config';
$loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
$loader->load($confDir.'/{packages}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, 'glob');
$loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob');
$loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob');
}
protected function configureRoutes(RouteCollectionBuilder $routes)
{
$confDir = $this->getProjectDir().'/config';
$routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob');
$routes->import($confDir.'/{routes}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, '/', 'glob');
$routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob');
}
}