IntelliJ IDEA 2019.2ヘルプ

コード・スタイル: PHP

WindowsとLinux用のファイル | 設定 | エディター | コード・スタイル | PHP
macOS用 IntelliJ IDEA | 環境設定 | エディター | コード・スタイル | PHP
Ctrl+Alt+S the Settings/Preferences icon


このセクションを使用して、PHPファイルのフォーマットオプションを構成します。これらの設定を変更すると、変更の結果がプレビューペインに表示されます。

次からセット...

このリンクをクリックして、表示されるリストから現在の言語のデフォルトコードスタイルのベースを選択します。リストには2つのオプションがあります。

  • 言語 : 他の言語からコーディングスタイル設定を継承するには、このオプションを選択します。表示されたリストから原言語を選択します。現在の言語に適用可能な設定のみが採用されます。他のすべての設定は影響を受けません。

  • 定義済みのコードスタイル : 特定のフレームワーク用に定義されたコーディング標準を使用するには、このオプションを選択してください。リストから次のフレームワークのいずれかを選択してください。

このリンクは、該当する場合、言語固有のコードスタイルページの右上隅に表示されます。

リセットをクリックして変更を破棄し、コードスタイル設定の最初のセットに戻ります。

タブとインデント

項目

説明

タブ文字を使用

  • このチェックボックスをオンにすると、タブ文字が使用されます。

    • Tab キーを押すと

    • インデント用

    • コードの再フォーマット

  • チェックボックスをオフにすると、IntelliJ IDEAはタブの代わりにスペースを使用します。

スマート・タブ

  • このチェックボックスをオンにすると、コードブロックのネストによって定義されるインデントの部分は、タブと(必要な場合は)スペースで構成され、アライメントによって定義されるインデントの部分はスペースのみで構成されます。

    Code style with Smart Tabs on
  • このチェックボックスをオフにすると、タブのみが使用されます。これは、指定されたタブサイズに適合するスペースのグループが自動的にタブに置き換えられることを意味します。これにより、細かい配置が解除される可能性があります。

    Code style with Smart Tabs off

タブ文字を使用チェックボックスが選択されている場合は、スマート・タブチェックボックスが使用可能です。

タブ・サイズ

このフィールドには、タブに含めるスペースの数を指定します。

インデント

このフィールドでは、各インデントレベルに挿入されるスペース(またはタブ文字を使用チェックボックスが選択されている場合はタブ)の数を指定します。

連続インデントの文字数

このフィールドでは、式、メソッド宣言、およびメソッド呼び出しで、配列の要素間に挿入するスペース(またはタブ文字を使用チェックボックスが選択されている場合はタブ)の数を指定します。

空行でインデントを保持する

このチェックボックスが選択されている場合、IntelliJ IDEAは空の行をあたかもそれらが何らかのコードを含んでいるかのようにインデントを保ちます。
このチェックボックスがオフの場合、IntelliJ IDEAはタブ文字とスペースを削除します。

SpacesのPHP固有のフォーマット設定

チェックボックスを選択または選択解除して、次のPHPコンテキストでスペースを挿入、挿入、または削除します。

項目

説明

丸括弧の前

  • 配列初期化子の丸括弧

    このチェックボックスを選択すると、次のように、配列宣言の左括弧の前にスペースを挿入できます。

    $array = array (0 => "zero", 1 => "one");

    チェックボックスをオフにすると、スペースは挿入されず、コードは次のようになります。

    $array = array(0 => "zero", 1 => "one");

演算子の周囲

  • 連結

    このチェックボックスを選択すると、連結演算子 . の前後にスペースが挿入され、コードは次のようになります。

    echo "The result is " . $i;

    チェックボックスをオフにすると、連結演算子の周囲にスペースが挿入されないため、コードは次のようになります。

    echo "The result is ".$i;

  • オブジェクトアクセス演算子 ->

    このチェックボックスを選択すると、オブジェクトアクセス演算子 -> の前後にスペースが挿入され、コードは次のようになります。

    $obj -> foo() -> bar();

    チェックボックスをオフにすると、オブジェクトアクセス演算子の周囲に空白が挿入されないため、コードは次のようになります。

    $obj->foo()->bar();

  • NULL合体演算子 (??)

    このチェックボックスを選択すると、null合体演算子 ?? の前後にスペースが挿入され、コードは次のようになります。

    foo() ?? bar();

    チェックボックスをオフにすると、null統合オペレータの周囲にスペースが挿入されないため、コードは次のようになります。

    foo()??bar();

  • 宣言文の代入

    このチェックボックスを選択すると、declare ステートメントの代入演算子の前後に空白が挿入され、コードは次のようになります。

    declare(strict_types = 1);

    チェックボックスをオフにすると、代入演算子の周囲に空白が挿入されないため、コードは次のようになります。

    declare(strict_types=1);

左波括弧の前

  • クラスの左波括弧

    このチェックボックスを選択すると、クラス名とクラス宣言の左波括弧との間にスペースが挿入されます。

    class Class1 { function Foo() }

    チェックボックスをオフにすると、スペースは挿入されません。

    class Class1{ function Foo() }

    §チェックボックスの選択または選択解除は、折り返しおよび括弧タブでクラス宣言における波括弧の配置行末に設定されている場合にのみ有効です。

範囲内

このセクションのチェックボックスを選択すると、選択したコードコード構成内にスペースが自動的に挿入されます。

  • 括弧

    チェックボックスをオンにすると、スペースが常に挿入されます。チェックボックスをオフにすると、スペースは挿入されません。

  • 変数/式の周囲の角括弧

    角括弧が変数または式を囲む場合にのみ、角括弧が角括弧の内部に角括弧の挿入スペースを挿入するには、このチェックボックスを選択します。この設定は、スペースタブの範囲内ノードにある括弧チェックボックスを選択して、角括弧内部のスペースの強制挿入を設定していない場合にのみ再フォーマットに影響します。

    このオプションは、WordPress PHPコーディング標準(英語)に従ってコードを保持できます。

    このチェックボックスをオフにすると、スペース挿入ポリシーは角括弧内のコンテンツの種類に関係なく、括弧の設定に依存します。

三項演算子で ?:

このセクションのチェックボックスを選択すると、?の前後、:の前後、および三項(条件付き)演算子(英語)?: の間にスペースが自動的に挿入されます。

その他

このセクションのチェックボックスを選択すると、カンマ、セミコロン、単項NOT演算子 !の前後、および型キャストの前後にスペースが自動的に挿入されます。

  • 型キャストの後

    このチェックボックスを選択すると、IntelliJ IDEAはキャスト(英語)の閉じ括弧の後にスペースを自動的に挿入します: $fst = (string) $foo;

    チェックボックスをオフにすると、スペースは挿入されず、キャストされた変数はキャストに固執する: $fst = (string)$foo;

折り返しと波括弧のPHP固有の書式設定

項目

説明

波括弧の配置

このセクションでは、名前空間、クラス、および関数の宣言、ループ内、およびその他の構成内で中括弧を開く位置を選択します。リストから必要なポジションを選択してください。利用可能なオプションは以下のとおりです。

  • 行末 : 開き括弧を宣言行の末尾に配置するには、このオプションを選択します。

  • 折り返されている場合は次の行 : 左括弧を複数行の宣言行の後の行の先頭に配置するには、このオプションを選択します。

  • 次の行 : このオプションを選択すると、宣言中の行の後の行頭に開き括弧が配置されます。

  • 次の行をシフト : 宣言行の後ろの行に左中括弧を配置して、対応するインデントレベルに移動するには、このオプションを選択します。

  • 次の行をそれぞれシフト : このオプションを選択すると、宣言行の後の行に左中括弧が配置され、次の行も次のインデントレベルに移動します。

リストの継承/実装

このセクションでは、折り返しとそれに続くextendimplementsリストの配置を設定します。

  • 折り返しなし : このオプションを選択すると、特別な折り返しスタイルは適用されません。

    このオプションを選択すると、ネストされたアライメントと波括弧の設定は無視されます。

  • 長い場合は折り返す : このオプションを選択すると、右マージンを超える行が適切なインデントで折り返されます。

  • 常に折り返す : このオプションを選択すると、リスト内のすべての要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 長い場合に切り捨てる : このオプションを選択すると、リスト内の右マージンを超える要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 複数行のときに再配置する

    このチェックボックスが選択されていると、拡張または道具リストの各項目は、折り返し後に新しい行から始まり、折り返されないままの最初の項目によって整列されます。

    abstract class Foo extends Class1 implements Class2, Class8 { }

    チェックボックスをオフにすると、ラップされたリストの各項目の位置は、選択したインデントレベルで決まります。

    チェックボックスの状態は、リストをラップするように選択した場合にのみフォーマットに影響します。折り返しなしオプションが選択されている場合、チェックボックスを選択またはクリアしても効果はありません。

キーワードの継承/実装

このセクションでは、クラス宣言内でextendsキーワードとimplementsキーワードの折り返しを設定します。

折り返しなしオプションを選択した場合は拡張したり、リストには新しい行に表示されます実装では、長い場合は折り返すまたは常に折り返す、各キーワードと各項目を選択した場合、何の折り返しは、適用されません。

abstract class Foo extends Class1 implements Class2, Class8 { }

関数宣言のパラメーター

この領域では、関数とメソッドの宣言で書式設定を行います。

  • ')' と '{' を 1 行に保つ

    このチェックボックスをオフにすると、波括弧が次の行に移動します。

    function Foo() { }

    チェックボックスが選択されていると、関数curlと同じ行に波括弧が表示されます。

    function Foo() { }

連鎖メソッド呼び出し

このセクションでは、連鎖呼び出しの折り返しと後続の整列を設定します。

  • 折り返しなし : このオプションを選択すると、特別な折り返しスタイルは適用されません。

    このオプションを選択すると、ネストされたアライメントと波括弧の設定は無視されます。

  • 長い場合は折り返す : このオプションを選択すると、右マージンを超える行が適切なインデントで折り返されます。

  • 常に折り返す : このオプションを選択すると、リスト内のすべての要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 長い場合に切り捨てる : このオプションを選択すると、リスト内の右マージンを超える要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 複数行のときに再配置する

    チェックボックスをオンにすると、ラップした後に呼び出された各メソッドは、新しい行に配置され、最初のラップで整列され、ラップされません。

    $x = $x->one( "a", "b" ) ->two( "c", "d", "e" ) ->three( "fg" ) ->four;

    チェックボックスをオフにすると、ラップされたリストの各項目の位置は、選択したインデントレベルで決まります。

    チェックボックスの状態は、リストをラップするように選択した場合にのみフォーマットに影響します。折り返しなしオプションが選択されている場合、チェックボックスを選択またはクリアしても効果はありません。

  • 新しい行に ';' を配置する

    チェックボックスをオフにすると、連鎖呼び出しの最後の項目の後にセミコロン ; が表示されます。チェックボックスが選択されている場合、セミコロンは新しい行に移動されます。

    $x = $x->one( "a", "b" ) ->two( "c", "d", "e" ) ->three( "fg" ) ->four ;

代入ステートメント

このセクションでは、代入文で折り返しと後続の整列を設定します。

  • 折り返しなし : このオプションを選択すると、特別な折り返しスタイルは適用されません。

    このオプションを選択すると、ネストされたアライメントと波括弧の設定は無視されます。

  • 長い場合は折り返す : このオプションを選択すると、右マージンを超える行が適切なインデントで折り返されます。

  • 常に折り返す : このオプションを選択すると、リスト内のすべての要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 長い場合に切り捨てる : このオプションを選択すると、リスト内の右マージンを超える要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 新しい行の割当記号
  • 連続する割り当てをそろえる

    このチェックボックスをオンにすると、連続する代入文の代入記号が右端の代入記号に揃えられます。

    $y = foo( $x ); $intermediate = foo( $intermediate ); $result = $result . $y . $intermediate;

    このチェックボックスをオフにすると、位置合わせは適用されません。

    $y = foo( $x ); $intermediate = foo( $intermediate ); $result = $result . $y . $intermediate;

クラス・フィールド/定数グループ

このセクションでは、クラス・プロパティー (フィールド)(英語)またはクラス定数(英語)のリスト内で折り返しと後続のアライメントを構成します。

  • カラムでフィールドをそろえる

  • 定数をそろえる

配列イニシャライザー

このセクションでは、配列宣言で折り返しと後続の整列を設定します。

  • 折り返しなし : このオプションを選択すると、特別な折り返しスタイルは適用されません。

    このオプションを選択すると、ネストされたアライメントと波括弧の設定は無視されます。

  • 長い場合は折り返す : このオプションを選択すると、右マージンを超える行が適切なインデントで折り返されます。

  • 常に折り返す : このオプションを選択すると、リスト内のすべての要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 長い場合に切り捨てる : このオプションを選択すると、リスト内の右マージンを超える要素が折り返され、行ごとに適切なインデントを持つ要素が1つになります。

  • 複数行のときに再配置する

    チェックボックスをオンにして'(' の後の改行チェックボックスをオフにすると、折り返しの後に新しい行に配置された各要素は、最初の要素で整列され、折り返されません。

    $colours = array( "blue", "red", "white", "green", "yellow" );

    複数行のときに再配置する'(' の後の改行の両方のチェックボックスを選択すると、すべての要素がインデントの設定に従って整列されます。

    $colours = array( "blue", "red", "white", "green", "yellow" );

    複数行のときに再配置する'(' の後の改行のチェックボックスの選択と解除は、リストをラップするように選択した場合にのみフォーマットに影響します。折り返しなしオプションを選択した場合、チェックボックスのステータスは無効です。

  • '(' の後の改行

    このチェックボックスをオンにすると、配列の最初の要素が新しい行に表示され、複数行のときに再配置するチェックボックスのステータスに関係なく、インデント設定に従って配列のすべての要素が整列されます。

    このチェックボックスをオフにすると、配列の最初の要素は同じ行に残り、他の要素はインデントの設定に従って整列されます。

  • 新しい行に ')' 配置

修飾子リスト

  • 修飾子リストの後で折り返す

    このチェックボックスをオンにすると、可視性修飾子のリストの後にコードが折り返されます。

    protected function Foo() { }

    チェックボックスをオフにすると、折り返しは実行されません。

    protected function Foo() { }

ブランク行

このタブを使用して、IntelliJ IDEAが再フォーマット後にコードに保持して挿入する空白行の数と数を定義します。場所の種類ごとに、挿入する空白行の数を指定します。結果はプレビューペインに表示されます。

項目

説明

空白行の指定

この領域には、指定された場所で再フォーマットした後に保持する空白行の数を指定します。

最小の空白行数

この領域のテキストボックスに、指定された場所に存在する空白行の数を指定します。

PHPDoc

このタブでは、PHPDoc(英語)コメント内に適用されるコードスタイルを設定します。PHPDoc コメントでPHPコードの文書化について学びましょう。

項目

説明

空白行の維持

空白行を自動的に削除しないようにするには、このチェックボックスを選択します。

最初のタグの前の空白行

このチェックボックスを選択すると、最初のPHPDocタグの上に空白行が挿入されます。

パラメーター周囲の空白行

このチェックボックスを選択すると、@param タグのセクションの上下に空白行が挿入されます。

長い行を折り返す

この余白を超えるテキストが次の行に折り返されるようにするには、このチェックボックスを選択します。

パラメーター/プロパティー名をそろえる

&<paramname> エレメントを整列させるには、このチェックボックスを選択します。

タグ・コメントをそろえる

description エレメントを整列させるには、このチェックボックスを選択します。

PHPDocの '@param'スペース

この領域で、@param タグ要素を区切るためのスペースの数を設定します。

生成されたPHPDocタグ

この領域では、生成されたPHPドキュメントブロック内で適用されるコードスタイルを設定します(PHPDoc コメントを参照)。

  • 完全修飾クラス名を使用する : このチェックボックスを選択すると、IntelliJ IDEAがプロパティー、関数パラメータ、return および throws 値などの完全修飾クラス名を指定します。

  • 型に 'null' を配置 : このチェックボックスを選択すると、製品がNULL可能パラメーター(英語)の注釈を生成し、タイプ(英語)返(英語)し、null 指示を配置する場所(つまり、string|null または null|string)を選択します。

PHPDocタグを並べ替える

コード構成用のPHPDocブロックを生成するときにPHPDocタグを定義された順序で自動的にソートするには、このチェックボックスを選択します。

  • リストにPHPDocタグのエントリを追加または削除するには、the Add buttonthe Remove button を使用します。

  • the Up buttonthe Down button を使用して、PHPDocタグのエントリの順番を並べ替えます。

リストに追加されていないPHPDocタグは、リストされているタグに生成されます。

コード変換

このタブでは、自動コード変換を実行するときに適用するコードスタイルを設定します。

項目

説明

True/False 定数を次に変換する

true および false の定数を大文字または小文字のどちらかに表示するには、目的のオプションを選択します。

Null 定数を次に変換する

null 定数を大文字または小文字のどちらかに表示させるには、目的のオプションを選択します。

Convert else if / elseif

else ifelseif の定数を else if または elseifとして一様に表示するには、希望のオプションを選択します。

ソート使用ステートメント

インポートを最適化するときに use ステートメントをアルファベット順または長さ順にソートするには、目的のオプションを選択します。

配列宣言スタイル

  • 短い宣言スタイルを強制する : 再フォーマット中にIntelliJ IDEAが配列宣言内の array() 構成体を [] に置き換えるようにするには、このチェックボックスを選択します。

    チェックボックスをオフにすると、配列宣言の従来のリテラルスタイルは再フォーマット後も保持されます。

  • 複数行配列の最後の要素の後にコンマを追加する : このチェックボックスを選択すると、IntelliJ IDEAは、必要なコーディング標準(Symfonyコーディング標準(英語)など)を満たすために、複数行配列の宣言の最後の項目の後に自動的にコンマを挿入します。

詳細は配列: 構文(英語)を参照してください。

コード生成

このタブでは、特定のコード生成およびリファクタリング手順を実行するときに適用されるコードスタイルを設定します。

項目

説明

変数の命名スタイル

生成された変数を大文字小文字混合、キャメルケース、またはスネークケースで一様に表示するには、目的のオプションを選択します。

フィールドデフォルトの可視性

生成されたクラスフィールドにprivateprotected、またはpublic可視性修飾子(英語)を自動的に付加するには、目的のオプションを選択します。

選択されたオプションは、それに対応して、フィールドの導入リファクタリング、クラスコンストラクターで呼び出されるシグネチャーの変更リファクタリング、およびフィールドの初期化 インテンションアクションの動作に影響します。

コードのコメント

この領域では、コメントに適用するコードスタイルオプションを設定します。

  • 最初の列に行コメントを入れる - このチェックボックスを選択すると、行コメントは最初の列から開始され、インデントは付けられません。行コメント文字の後に余分な空白スペースは追加されません。チェックボックスはデフォルトで選択されています。

    チェックボックスがクリアされると、行コメントは選択されたコメントブロック内のインデントから始まります。

  • コメントの最初に空白を追加する - このチェックボックスを選択すると、行のコメント文字とコメント行の最初の文字の間にスペースが挿入されます。

配置

このタブでは、好みに応じてPHPコードを再配置する一連のルールを定義します。

項目

説明

グループ化ルール

このエリアを使用して、グループ化ルールを設定します。

  • getter と setter をまとめる

    getterとsetterのメソッドを一緒に保つには、このチェックボックスを選択します。デフォルトでは、このチェックボックスが選択されています。

  • オーバーライドされたメソッドをまとめる

    このチェックボックスを選択すると、オーバーライドされたメソッドをクラスとインターフェースでグループ化できます。順番に :list、keepまたはnameオプションを選択します。

  • 依存するメソッドをまとめる

    依存するメソッドをグループ化するには、このチェックボックスを選択します。順序 :リストで、depth-firstまたはbreadth-firstオプションを選択します。

一致ルール

この領域を使用して、ルールのリストとして要素の順序を定義します。すべてのルールには、修飾子や型などの一致のセットがあります。

  • the Add button : このボタンを使用してルールを追加します。空のルール領域が開きます。

  • the Add Section Rule button : このボタンを使用してセクションルールを追加します。セクションルールを使用すると、メソッドまたは変数を自分が定義したセクションに移動できます。

    例:以下のセクションルールを作成することができます。

    A matching rule

    アレンジ後、クラス内のメソッドは、作成されたセクションルールで指定されているように再配置され、コメントに囲まれます。

    //methods start public function test() {} private function a() { return 1; } static function r() {} //methods end
  • the Remove button : このボタンを使用してリストからルールを削除します。

  • the Edit button : このボタンを使用して既存のルールを編集します。このボタンを表示するには、編集するルールに移動してボタンをクリックします。表示されるポップアップで、ルールフィールドを変更します。

  • the Move up button the Move down button : これらのボタンを使用して、選択したルールを上下に移動します。

空のルール

このエリアを使用して、新しい一致ルールを作成するか、既存のルールを編集します。次のフィルタから選択できます。

  • : このフィルタを使用して、ルールのクラスまたはメソッドを選択してください。
    typeキーワードを2回クリックすると、条件が無効になることに注意してください。

  • 名前 : このフィールドを使用して、ルールのエントリ名を指定します。このフィルタは、フィールド名、メソッド名、クラス名などのエントリ名のみに一致します。フィルターは正規表現をサポートし、標準の構文を使用します。一致は、名前全体に対して実行されます。

  • 順序 : このリストを使用して、ルールのソート順を選択してください。このオプションは、複数の要素が同じ一致規則を使用している場合に便利です。この場合、秩序を保ちますを選択しても並べ替え前の設定と同じ順序が保持され、名前順を選択すると同じ一致規則を持つ要素が名前順に並べ替えられます。

  • エイリアス : このオプションは、ルールの別名定義ダイアログで定義されたエイリアスを表示します。不要なものは削除できます。

the Sort Alphabetically button

このアイコンは、順序リストから名前順を選択すると表示されます。アイコンは、このルールの項目がアルファベット順にソートされていることを示します。

最終更新日: 2019年10月17日

関連ページ:

PHPDoc コメント

この機能はUltimateエディションでのみサポートされています。以下は、PHPプラグインがインストールされ有効になっている場合にのみ有効です。ドキュメントコメントの場合、IntelliJ IDEAはデフォルトで有効になっている補完を提供します。IntelliJ IDEAは、の開始タグを入力して を...

自動インポート

まだインポートしていないクラス、静的メソッド、または静的フィールドを使用している場合は、欠落しているimportステートメントを追加するように指示するポップアップが表示され、手動で追加する必要はありません。提案を受け入れるには を押します。インポート可能なソースが複数ある場合、 を押すと候補のリス...

コードのリファクタリング

リファクタリングは、新しい機能を作成せずにソースコードを改善するプロセスです。リファクタリングはコードを堅牢にし、dryを維持しやすくします。リファクタリングを呼び出す:リファクタリングするアイテムを選択します。エディターでプロジェクトツールウィンドウまたは式/シンボルでファイル/フォルダーを選択で...

フィールドの導入

フィールドの導入リファクタリングでは、新しいフィールドを宣言し、選択した式で初期化することができます。元の式はフィールドの使用箇所に置き換えられます。その場でフィールドを抽出するフィールドに抽出するコードの一部内にキャレットを配置します。を押すか、メインメニューからを選択します。導入する式をフィール...

シグネチャーの変更

シグネチャーの変更リファクタリングは、メソッドシグネチャーまたはクラスシグネチャーに適用できるいくつかの異なる変更を組み合わせています。このリファクタリングはUML クラス図からアクセスできます。クラスの場合、このリファクタリングはクラスをジェネリックに変換し、その型パラメータを操作することができま...