关于symfony:.yaml和.yml扩展名有什么区别?

您所在的位置:网站首页 yml后缀是什么 关于symfony:.yaml和.yml扩展名有什么区别?

关于symfony:.yaml和.yml扩展名有什么区别?

2023-12-27 18:06| 来源: 网络整理| 查看: 265

本问题已经有最佳答案,请猛点这里访问。

我在YAML维基百科上阅读了它们,但并没有真正理解它们之间的主要区别。 我看到有人使用.yaml扩展名,但是,Symfony2使用.yml扩展名。

YAML是一种人类可读的数据序列化格式,它采用来自诸如C,Perl和Python之类的编程语言的概念以及来自XML和电子邮件数据格式的思想。

YAML是" YAML不是标记语言"的递归首字母缩写。 在其发展的早期,YAML被认为是"另外一种标记语言"的意思,[3],但后来对其进行了重新解释(将原始缩写缩写为后缩写),以区分其目的是面向数据的,而不是文档标记。

那么,.yaml和.yml之间到底有何不同? 我们何时应优先选择另一个?

文件扩展名对文件内容没有任何影响。您可以将YAML内容保存在具有任何扩展名的文件中:.yml,.yaml或其他任何扩展名。

(相对稀疏的)YAML FAQ建议您优先使用.yaml而不是.yml,但是由于历史原因,许多Windows程序员仍然害怕使用具有三个以上字符的扩展名,因此选择使用.yml。

因此,真正重要的是文件内部的内容,而不是文件扩展名。

相关讨论 DOS 8.3字符约定将" .YML"而不是" .YAML"归因于IMO是一个红色鲱鱼。 这很可能是由于以下事实造成的:以(Y)开头的三(3)个字符足够清晰,因为很少有以" Y"开头的扩展名。 Windows及其8.3规则明显加强了3个字符扩展的趋势。 当今人们出于恐惧而行事的想法可能有点夸张,但是他们出于习惯而行事似乎很难引起争议,而且这种做法受到Windows的严重影响似乎也难以引起争议。 3字符扩展名可能早于Microsoft。 例如,DECs PDP-11具有6.3个以3个16位字词编码的文件名:en.wikipedia.org/wiki/DEC_Radix-50#16-bit_systems

正如@David Heffeman指出的那样,建议在可能的情况下使用.yaml,并且自2006年9月以来一直采用这种方式。

有些项目使用.yml的主要原因是实施者/文档编制者的无知:他们由于易读性而希望使用YAML,或者由于其他格式无法使用的某些其他功能,他们不熟悉建议,并且只是实施了可行的方法,也许是在查看其他项目/图书馆之后(不用怀疑所做的是否正确)。

解决此问题的最佳方法是在创建新文件时严格(即使用.yaml),在接受输入时允许(即在遇到.yml时允许输入),并可能在可能时自动升级/更正这些错误。

我的另一项建议是在您认为必须这样做时,记录为什么必须使用.yml的参数。这样,您就不会喜欢无知,而是会给其他人机会来理解您的推理。当然,"其他人都在做"和"在Google .yml上的页面多于.yaml"不是自变量,它们只是有关错误或正确的项目受欢迎程度的统计信息(关于YAML文件的扩展名)。您可以尝试证明某些项目受欢迎,只是因为它们使用了.yml扩展名而不是正确的.yaml,但是我认为这样做很难。

一些项目意识到(为时已晚)他们使用了错误的扩展名(例如最初docker-compose使用.yml,但是在更高版本中开始使用.yaml,尽管它们仍然支持.yml)。其他人仍然对正确的扩展名一无所知,例如AppVeyor 2019年初,但允许您指定项目的配置文件,包括扩展名。这使您可以摆脱配置文件的困扰,并为其提供适当的扩展名:我使用.appveyor.yaml而不是appveyor.yml来构建用于Python的YAML解析器的Windows轮子。

另一方面:

The Yaml (sic!) component of Symfony2 implements a selected subset of features defined in the YAML 1.2 version specification.

因此,他们也使用建议的扩展名的子集似乎很合适。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3