Documentation Format

The Symfony documentation uses reStructuredText as its markup language and Sphinx for generating the documentation in the formats read by the end users, such as HTML and PDF.

Symfony のドキュメントは、reStructuredText をマークアップ言語として使用し、Sphinx を使用して HTML や PDF などのエンド ユーザーが読む形式でドキュメントを生成します。

reStructuredText

reStructuredText is a plain text markup syntax similar to Markdown, but much stricter with its syntax. If you are new to reStructuredText, take some time to familiarize with this format by reading the existing Symfony documentation source code.

reStructuredText は、Markdown に似たプレーン テキスト マークアップ構文ですが、その構文はより厳密です。 reStructuredText を初めて使用する場合は、既存の Symfony ドキュメントのソース コードを読んで、この形式に慣れるために時間をかけてください。

If you want to learn more about this format, check out the reStructuredText Primer tutorial and the reStructuredText Reference.

この形式について詳しく知りたい場合は、reStructuredText Primertutorial と reStructuredText Reference を確認してください。

Caution

注意

If you are familiar with Markdown, be careful as things are sometimes very similar but different:

Markdown に精通している場合は、非常に似ていても異なる場合があるので注意してください。
  • Lists starts at the beginning of a line (no indentation is allowed);
    リストは行頭から始まります (インデントは許可されません)。
  • Inline code blocks use double-ticks (``like this``).
    インラインコードブロックはダブルティックを使用します (``like this``)。

Sphinx

Sphinx is a build system that provides tools to create documentation from reStructuredText documents. As such, it adds new directives and interpreted text roles to the standard reStructuredText markup. Read more about the Sphinx Markup Constructs.

Sphinx は、reStructuredText ドキュメントからドキュメントを作成するためのツールを提供するビルド システムです。そのため、新しいディレクティブと解釈されたテキストロールを標準の reStructuredText マークアップに追加します。 Sphinx マークアップ コンストラクトについて詳しくは、こちらをご覧ください。

Syntax Highlighting

PHP is the default syntax highlighter applied to all code blocks. You can change it with the code-block directive:

PHP は、すべてのコード ブロックに適用されるデフォルトのシンタックス ハイライターです。 code-block ディレクティブで変更できます。
1
2
3
.. code-block:: yaml

    { foo: bar, bar: { foo: bar, bar: baz } }

Note

ノート

Besides all of the major programming languages, the syntax highlighter supports all kinds of markup and configuration languages. Check out the list of supported languages on the syntax highlighter website.

すべての主要なプログラミング言語に加えて、シンタックス ハイライターはあらゆる種類のマークアップ言語と構成言語をサポートしています。シンタックス ハイライターの Web サイトで、サポートされている言語のリストを確認してください。

Configuration Blocks

Whenever you include a configuration sample, use the configuration-block directive to show the configuration in all supported configuration formats (PHP, YAML and XML). Example:

構成サンプルを含める場合は常に、構成ブロック ディレクティブを使用して、サポートされているすべての構成形式 (PHP、YAML、および XML) で構成を表示します。例:
1
2
3
4
5
6
7
8
9
10
11
12
13
.. configuration-block::

    .. code-block:: yaml

        # Configuration in YAML

    .. code-block:: xml

        <!-- Configuration in XML -->

    .. code-block:: php

        // Configuration in PHP

The previous reStructuredText snippet renders as follow:

前の reStructuredText スニペットは次のようにレンダリングされます。
  • YAML
    YAML
  • XML
    XML
  • PHP
    PHP
1
# Configuration in YAML

The current list of supported formats are the following:

サポートされている形式の現在のリストは次のとおりです。
Markup Format Use It to Display
html HTML
xml XML
php PHP
yaml YAML
twig Pure Twig markup
html+twig Twig markup blended with HTML
html+php PHP code blended with HTML
ini INI
php-annotations PHP Annotations
php-attributes PHP Attributes

The most common type of links are internal links to other documentation pages, which use the following syntax:

最も一般的なタイプのリンクは、次の構文を使用する他のドキュメント ページへの内部リンクです。
1
:doc:`/absolute/path/to/page`

The page name should not include the file extension (.rst). For example:

ページ名にファイル拡張子 (.rst) を含めないでください。例えば:
1
2
3
4
5
:doc:`/controller`

:doc:`/components/event_dispatcher`

:doc:`/configuration/environments`

The title of the linked page will be automatically used as the text of the link. If you want to modify that title, use this alternative syntax:

リンクされたページのタイトルは、リンクのテキストとして自動的に使用されます。そのタイトルを変更する場合は、次の代替構文を使用します。
1
:doc:`Doctrine Associations </doctrine/associations>`

Note

ノート

Although they are technically correct, avoid the use of relative internal links such as the following, because they break the references in the generated PDF documentation:

これらは技術的には正しいものですが、次のような相対内部リンクの使用は避けてください。生成された PDF ドキュメントの参照が壊れるためです。
1
2
3
4
5
:doc:`controller`

:doc:`event_dispatcher`

:doc:`environments`

Links to the API follow a different syntax, where you must specify the type of the linked resource (class or method):

API へのリンクは別の構文に従います。ここでは、リンクされたリソース (クラスまたはメソッド) のタイプを指定する必要があります。
1
2
3
:class:`Symfony\\Component\\Routing\\Matcher\\ApacheUrlMatcher`

:method:`Symfony\\Component\\HttpKernel\\Bundle\\Bundle::build`

Links to the PHP documentation follow a pretty similar syntax:

PHP ドキュメントへのリンクは、非常によく似た構文に従います。
1
2
3
4
5
:phpclass:`SimpleXMLElement`

:phpmethod:`DateTime::createFromFormat`

:phpfunction:`iterator_to_array`

New Features, Behavior Changes or Deprecations

If you are documenting a brand new feature, a change or a deprecation that's been made in Symfony, you should precede your description of the change with the corresponding directive and a short description:

Symfony で行われた新しい機能、変更、または非推奨を文書化する場合は、対応するディレクティブと短い説明を変更の説明の前に置く必要があります。

For a new feature or a behavior change use the .. versionadded:: 6.x directive:

新しい機能または動作の変更については、.. versionadded:: 6.x ディレクティブを使用します。
1
2
3
.. versionadded:: 6.2

    ... ... ... was introduced in Symfony 6.2.

If you are documenting a behavior change, it may be helpful to briefly describe how the behavior has changed:

動作の変更を文書化する場合は、動作がどのように変更されたかを簡単に説明すると役立つ場合があります。
1
2
3
4
.. versionadded:: 6.2

   ... ... ... was introduced in Symfony 6.2. Prior to this,
   ... ... ... ... ... ... ... ... .

For a deprecation use the .. deprecated:: 6.x directive:

廃止するには、.. deprecated:: 6.x ディレクティブを使用します。
1
2
3
.. deprecated:: 6.2

    ... ... ... was deprecated in Symfony 6.2.

Whenever a new major version of Symfony is released (e.g. 6.0, 7.0, etc), a new branch of the documentation is created from the x.4 branch of the previous major version. At this point, all the versionadded and deprecated tags for Symfony versions that have a lower major version will be removed. For example, if Symfony 6.0 were released today, 5.0 to 5.4 versionadded and deprecated tags would be removed from the new 6.0 branch.

Symfony の新しいメジャー バージョン (6.0、7.0 など) がリリースされるたびに、以前のメジャー バージョンの x.4 ブランチからドキュメントの新しいブランチが作成されます。この時点で、より低いメジャー バージョンを持つ Symfony バージョンのすべての versionadded および deprecated タグは削除されます。たとえば、Symfony 6.0 が今日リリースされた場合、5.0 から 5.4 のバージョンが追加され、非推奨のタグが新しい 6.0 ブランチから削除されます。