书籍Symfony 5:快速轨道欧宝娱乐app下载地址

欧宝娱乐app下载地址交响乐5:快车道是学习现代Symfony发展的最佳书籍,从零到生产。欧宝娱乐app下载地址+300页展示与Docker,API,队列和欧宝娱乐app下载地址异步任务,网克,SPA等的Symfony。

将现有应用程序升级到Symfony Flex欧宝娱乐app下载地址

5.3版本
欧宝娱乐app下载地址symfony 5.3支持经过JoliCode

将现有应用程序升级到Symfony Flex欧宝娱乐app下载地址

使用Symf欧宝娱乐app下载地址ony Flex是可选的,即使在Symfony 4中,默认情况下使用Flex。但是,Flex非常方便并提高了您的生产力,因此强烈建议将现有应用程序升级到它。

欧宝娱乐app下载地址Symfony Flex建议应用程序使用以下目录结构,该结构与Symfony 4中的默认值相同,但您可以自定义一些目录

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 17 18 19
您的项目/├──资产/├──控制台├────────────────────────────────────────────────────────────────────────────────────────────yaml├──公共/│└──index.php├──src /│├──...│── -  kernel.php├──模板/├──测试/├──翻译/├───var /└──供应商/

这意味着安装欧宝娱乐app下载地址symfony / flex依赖于您的应用程序是不够的。您还必须将目录结构升级到上面显示的目录结构。没有自动工具来进行此升级,因此您必须遵循这些手动步骤:

  1. 将Flex作为项目的依赖项安装:

    1
    $作曲家需要symfony / fl欧宝娱乐app下载地址ex
  2. 如果项目的composer.json.文件包含欧宝娱乐app下载地址symfony / symfonySymfony标准版在Symfony 4中不再可用。欧宝娱乐app下载地址首先,删除这个依赖:

    1
    $作曲家删除symfony / s欧宝娱乐app下载地址ymfony

    现在添加欧宝娱乐app下载地址symfony / symfony包裹到冲突项目的一部分composer.json.文件as.在这个骨骼项目的例子中显示以免再次安装:

    1 2 3 4 5 6 7 8
    {“要求”:{“symfony 欧宝娱乐app下载地址/ flex”:“^ 1.0”,+},+“冲突”:{+“s欧宝娱乐app下载地址ymfony / symfony”:“*”}}

    现在你必须加入composer.json.项目所需的所有S欧宝娱乐app下载地址ymfony依赖项。快速做到这一点是添加上一个包含的所有组件欧宝娱乐app下载地址symfony / symfony之后你可以删除任何你不需要的东西:

    1 2 3.
    $编写器需要注释资产或包分支\日志发送器表单安全转换验证器$编写器需要——dev dotenv maker-bundle orm-fixtures分析器
  3. 如果项目的composer.json.文件不包含欧宝娱乐app下载地址symfony / symfony依赖性,它已经根据Flex的要求明确定义其依赖项。重新安装所有依赖项以强制Flex以生成配置文件配置/,这是升级过程中最繁琐的部分:

    1 2
    $rm射频供应商/ *$Composer安装
  4. 无论你遵循前面的哪个步骤。在这一点上,您将有许多新的配置文件配置/。它们包含Symfony定义的默认配置,所以您必须检入原始文件欧宝娱乐app下载地址app / config /对新文件做必要的修改。Flex配置在配置文件中不使用后缀,所以旧的app / config / config_dev.yml配置/包/ dev / *。yaml, 等等。

  5. 最重要的配置文件是应用程序/配置/ services.yml,现在位于配置/服务.YAML.。复制内容默认的服务。yaml文件然后添加自己的服务配置。稍后您可以重新审视此文件,因为归功于Symfony欧宝娱乐app下载地址自动装配功能您可以删除大部分服务配置。

    笔记

    确保您之前的配置文件没有进口指向已加载的资源的声明内核:configureContainer ()或者内核:configureRoutes ()方法。

  6. 移动其余部分应用程序/内容如下(以及之后,删除应用程序/目录):

    • 应用/资源/意见/- >模板/
    • 应用程序/资源/翻译/- >翻译/
    • App / Resources / /视图/- >模板/包/ < BundleName > /
    • 余下的应用程序/资源/文件- >SRC /资源/
  7. 移动原始PHP源代码文件src / appbundle / *,除非捆绑特定文件(如AppBundle.phpDependencyInjection /), 至src /并更新每个移动文件的命名空间应用程序\...(高级ide可以自动完成这项工作)。

    除了移动文件之外,更新自动装载autoload-dev的值composer.json.文件as.在此示例中显示使用App \app \ tests \作为应用程序名称空间。

    如果使用多个bundle来组织代码,则必须将代码重新组织为src /。例如,如果你有src / userbundle / controller / defaultcontroller.phpSRC / ProductBundle / Controller / DefaultController.php,你可以将它们移动到src / controller / usercontroller.phpsrc / controller / productController.php

  8. 移动公共资产,如图像或已编译的CSS/JS文件SRC / appBundle /资源/公共/公共/(例如。公共/图像/)。

  9. 去掉src / AppBundle /

  10. 移动资产的来源(例如SCSS文件)资产/和使用网袋Encore.管理和编译它们。

  11. 欧宝娱乐app下载地址SYMFONY_DEBUG欧宝娱乐app下载地址SYMFONY_ENV环境变量被APP_DEBUGapp_env.。将它们的值复制到新的变量中,然后删除前一个变量。

  12. 创造新的公共/ index . php前端控制器复制symfon欧宝娱乐app下载地址y的index.php源如果你对你的Web / app.php.web / app_dev.php文件,将这些更改复制到新文件中。你现在可以删除旧的web /DIR。

  13. 更新bin /控制台脚本复制Symfon欧宝娱乐app下载地址y的bin/console源文件根据您的原始控制台脚本更改任何内容。

  14. 删除bin 欧宝娱乐app下载地址/ symfony_requirements.脚本,如果您需要替换它,请使用新的欧宝娱乐app下载地址Symfony要求检查

  15. 更新.gitignore替换现有的文件var /日志/进入var / log /,这是日志目录的新名称。

自定义Flex路径

Flex Recipes对项目的目录结构进行了一些假设。这些假设中的一些可以通过添加密钥来定制额外的部分部分composer.json.文件。例如,告诉Flex将任何PHP类复制到src / app.代替SRC.

1 2 3 4 5 6 7
{“…”“…”“额外的”{“src-dir”“src / app”}}

可配置路径是:

  • bin-dir:默认为垃圾箱/
  • config-dir:默认为配置/
  • src-dir默认为src /
  • var-dir默认为var /
  • public-dir默认为公共/

如果您自定义这些路径,那么从菜谱复制的一些文件仍然可能包含对原始路径的引用。换句话说:在安装菜谱之后,您可能需要手动更新一些东西。

这项工作,包括代码样本,是在一个Creative Commons by-SA 3.0执照。