【问题标题】:How can I reduce using extension types in Symfony?如何减少在 Symfony 中使用扩展类型?
【发布时间】:2018-11-23 16:08:12
【问题描述】:

在我的控制器中,我使用了很多扩展类型:

use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;

因为这占用了太多空间并且我不清楚,所以我需要知道是否有一条线可以只使用所有线。像这样的:

use Symfony\Component\Form\Extension\Core\Type\AllTypes;

【问题讨论】:

    标签: forms symfony controller


    【解决方案1】:

    每个类都有特定的用途,因此无法避免使用它们。

    但是,我确实喜欢下拉命名空间,以帮助弄清楚它们是什么(尽管在这里不太必要,因为它们都是后缀的)。它也确实减少了use 语句中的大量内容。我确实发现它非常有用,因为我可能有多个具有相同类名的类,但在代码库的不同部分 - 可能是实体与某种相关服务。

    <?php
    use Symfony\Component\Form\Extension\Core\Type; 
    
    ->add('hiddenfieldname', Type\HiddenType::class, [...])
    ->add('password', Type\RepeatedType::class, ....
    

    【讨论】:

      【解决方案2】:

      我了解您的问题。看到太多无用的代码。这很烦人,而且它使开发速度变慢(并且不那么有趣:()。

      您可以按照@Alister Bulman 的建议使用部分命名空间,但这会通过编码标准工具(如 EasyCodingStandard)禁用自动化。

      我想保持代码风格自动化,所以我使用 PHPStorm 解决了这个确切的问题 IDE(它在EAP versions 中也是免费的)。它很好地折叠了“使用”语句:

      【讨论】:

        猜你喜欢
        • 2012-06-26
        • 2015-05-16
        • 2022-10-02
        • 2011-10-15
        • 1970-01-01
        • 1970-01-01
        • 2018-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多