中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

YAML文件結構簡介

發布時間:2020-07-06 20:29:12 來源:網絡 閱讀:884 作者:ADUJ 欄目:web開發

在看drupal8,發現其模塊和主題的定義使用的是YAML文件。drupal8使用的Symfony框架中YAML文件結構,故翻譯整理學習下,有理解不準確的地方請多多指教。

String

一般字符串可以使用單引號,雙引號或者不使用引號

A string in YAML
'A singled-quoted string in YAML'
"A double-quoted string in YAML"

當使用單引號字符串時,其內容中的任何單引號必須加倍才能轉義:

'A single quote '' inside a single-quoted string'

包含以下任何字符都需要引號,可以使用單引號或雙引號,但使用單引號更方便

:, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, `

雙引號方式提供了以一種表示任意字符串的方法,使用\來轉義字符和序列

\0, \x01, \x02, \x03, \x04, \x05, \x06, \a, \b, \t, \n, \v, \f, \r, \x0e, \x0f, \x10, \x11,  \x12, \x13, \x14, \x15, \x16, \x17, \x18, \x19, \x1a, \e, \x1c, \x1d, \x1e, \x1f, \N, \_, \L, \P

"A double-quoted string in YAML\n"

注:測試發現,當字符串中包含上面字符時,使用單引號也可以轉義的

最后還有其他一些情況,不管你使用單引號還是雙引號

  • true or false ( 否則就是布爾值 )  

  • null or ~ (否則認為是null)

  • 當看起來像整數如2,14;浮點數如2.6,14.9;指數如12e7等,否則被視為一個數值

  • 當看起來像一個日期如2014-12-31,否則會自動轉為一個Unix時間戳

'true'
'null'
'2.14'
'2014-12-31'

當一個字符串中包含換行符時,可以使用由(|)管道符來指示該字符串將跨越多行。在文字中,換行符被保存下來

|
  \/ /| |\/| |
  / / | |  | |__

或者字符串可以使用折疊樣式編寫,用>表示,其中每行換行符被空格替換

>  
  This is a very long sentence
  that spans several lines in the YAML
  but which will be rendered as a string
  without carriage returns.

Numbers

12 #十進制
014 #八進制
0xC #十六進制
13.4 #浮點數
1.2e+24 #指數
.inf #無窮

Nulls

null
~

Booleans

true
false

Dates

#簡單日期
2002-12-14

Collections

- PHP
- Perl
- Python

對應PHP為

array('PHP','perl','Python')
PHP:    5.2
MySQL:  5.1
Apache: 2.2.20

對應PHP為

array('PHP' => 5.2, 'MySQL' => 5.1, 'Apache' => '2.2.20');
'symfony 1.0':
  PHP:    5.0
  Propel: 1.2
'symfony 1.2':
  PHP:    5.2
  Propel: 1.3

對應PHP為

array(
    'symfony 1.0' => array(
        'PHP'    => 5.0,
        'Propel' => 1.2,
    ),
    'symfony 1.2' => array(
        'PHP'    => 5.2,
        'Propel' => 1.3,
    ),
);

在YAML文件中使用縮進時需要記住一件重要的事情:縮進必須由一個或多個空格完成,但從不使用制表符。

也可以根據需要嵌套序列和映射

'Chapter 1':
  - Introduction
  - Event Types
'Chapter 2':
  - Introduction
  - Helpers

也可使用明顯的指示符而不是縮進

[PHP, Perl, Python] 
{ PHP: 5.2, MySQL: 5.1, Apache: 2.2.20 }
'Chapter 1': [Introduction, Event Types]
'Chapter 2': [Introduction, Helpers]
'symfony 1.0': { PHP: 5.0, Propel: 1.2 }
'symfony 1.2': { PHP: 5.2, Propel: 1.3 }

注釋

#comment on a line

Explicit Typing

YAML規范定義了一些標簽來顯式地設置任何數據類型:

data:
  # this value is parsed as a string (it's not transformed into a DateTime)
  start_date: !!str 2002-12-14

  # this value is parsed as a float number (it will be 3.0 instead of 3)
  price: !!float 3

  # this value is parsed as binary data encoded in base64
  picture: !!binary |
  R0lGODlhDAAMAIQAAP//9/X
  17unp5WZmZgAAAOfn515eXv
  Pz7Y6OjuDg4J+fn5OTk6enp

Unsupported YAML Features

Symfony Yaml組件不支持以下YAML特性:

  • Multi-documents (--- and ... markers); 多文檔(---和...標記);

  • Complex mapping keys and complex values starting with ?;以?開頭的復雜映射鍵和復數值;

  • Tagged values as keys;標記為鍵的值;

  • 下面標簽和類型: !!set, !!omap, !!pairs, !!set, !!seq, !!bool, !!int, !!merge, !!null, !!timestamp, !!value, !!yaml;

  • 標記(TAG指令;例如:%TAG!標記:example.com,2000:app /)和標記引用(例如:!<tag:example.com,2000:app / foo>);

  • 映射元素使用類似序列的語法(例如:{foo,bar};改為使用{foo:?,bar:?})


原文地址:http://symfony.com/doc/current/components/yaml/yaml_format.html

驗證地址:https://codebeautify.org/yaml-to-json-xml-csv


---

僅供個人理解參考


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郯城县| 城口县| 青川县| 隆化县| 天津市| 黄陵县| 青田县| 富裕县| 万源市| 卓资县| 新津县| 新沂市| 内江市| 彝良县| 体育| 福州市| 双流县| 塔城市| 穆棱市| 通城县| 永顺县| 宝鸡市| 沙雅县| 台南市| 积石山| 东乡县| 海门市| 张北县| 福海县| 枣阳市| 舒兰市| 永宁县| 长沙县| 葫芦岛市| 柯坪县| 柳江县| 科技| 清丰县| 肃南| 察雅县| 棋牌|