blob: 54adab60ece9e4f48b57ec4fddd2c8b5356225db [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-->
<html>
<head>
<title>PHP向けのNetBeans IDEのエディタ</title>
<meta name="KEYWORDS" content="NETBEANS, PHP, editor">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="DESCRIPTION" content="NetBeans, PHP editor" >
<link rel="stylesheet" type="text/css" href="../../../netbeans.css" media="screen"></head>
<body>
<h1>PHP向けのNetBeans IDEのエディタ: 概要</h1>
<p>このドキュメントでは、NetBeans IDEのPHPエディタの主要機能について概要を示します。</p>
<p><strong>目次</strong></p><img alt="このページの内容は、NetBeans IDE 7.2に適用されます" class="stamp" src="../../../images_www/articles/72/netbeans-stamp-72-73.png" title="このページの内容は、NetBeans IDE 7.2に適用されます">
<ul>
<li><a href="#gettingReady">準備</a></li>
<li><a href="#editorLayout">PHP向けのNetBeans IDEのエディタのレイアウト</a></li>
<li><a href="#SyntaxHighlighting">構文の強調表示</a></li>
<li><a href="#goToDeclaration">宣言へ移動</a></li>
<li><a href="#Navigator">ナビゲータ</a></li>
<li><a href="#CodeFolding">コード折りたたみ</a></li>
<li><a href="#SmartIndent">スマート・インデント</a></li>
<li><a href="#Formatting">フォーマット</a></li>
<li><a href="#BracketCompletion">括弧の補完</a></li>
<li><a href="#instant-rename">名前変更リファクタリングと名前の即時変更</a></li>
<li><a href="#CodeCompletion">コードの補完</a>
<ul>
<li><a href="#snippets">スニペット</a></li>
<li><a href="#contextSensitiveProposals">状況に応じた候補</a></li>
<li><a href="#abbreviations">コード・テンプレートと省略名</a></li>
<li><a href="#cc-constructors">コンストラクタ内でのコード補完</a></li>
<li><a href="#cc-sql">SQLコード補完</a></li>
<li><a href="#cc-namespaces">PHP 5.3の名前空間</a></li>
<li><a href="#cc-overridden-methods">オーバーライドおよび実装されたメソッド</a></li>
<li><a href="#clever-catch-cc">高度なTry/Catchコード補完</a></li>
</ul>
</li>
<li><a href="#php54">PHP 5.4のサポート</a></li>
<li><a href="#rectangular">四角形選択</a></li>
<li><a href="#phpdoc">ApiGenのサポート</a></li>
<li><a href="#code-generators">コード・ジェネレータ</a>
<ul>
<li><a href="#generate-constructors">コンストラクタ</a></li>
<li><a href="#generate-getters-setters">取得メソッドおよび設定メソッド</a></li>
<li><a href="#generate-overriden-methods">オーバーライドおよび実装されたメソッド</a></li>
</ul></li>
<li><a href="#vartyp-cmnt">コメント内での変数の型の定義</a></li>
<li><a href="#ParameterHints">パラメータ・ヒント</a></li>
<li><a href="#errorMessages">エラー・メッセージ</a></li>
<li><a href="#phpunit">PHPUnitとSeleniumのテスト</a></li>
<li><a href="#spellchecker">スペル・チェッカ</a></li>
<li><a href="#symfony">Symfony、Symfony2、およびZendフレームワークのサポート</a></li>
<li><a href="#smarty"> Smartyのサポート</a></li>
<li><a href="#doctrine2">Doctrine2のサポート</a></li>
</ul>
<p><b>このチュートリアルに従うには、次のソフトウェアとリソースが必要です。</b></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">ソフトウェアまたはリソース</th>
<th class="tblheader" scope="col">必須バージョン</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html" target="_blank">NetBeans IDE</a></td>
<td class="tbltd1">PHPダウンロード・バンドル</td>
</tr>
<tr>
<td class="tbltd1">PHPエンジン</td>
<td class="tbltd1">バージョン5
</tr>
<tr>
<td class="tbltd1">Webサーバー</td>
<td><a href="http://httpd.apache.org/download.cgi" target="_blank">Apache HTTP Server 2.2</a> (推奨)<br></td>
</tr>
<tr>
<td class="tbltd1">PHPデバッガ</td>
<td><a href="http://www.xdebug.org" target="_blank">XDebug 2.0以降</a></td>
</tr>
</tbody>
</table>
<h2><a name="gettingReady"></a>準備</h2>
<p>PHP向けのNetBeans IDEでPHPアプリケーションを正常に開発およびデプロイするには、<a href="../../trails/php.html#configuration">必要なすべてのソフトウェアがインストールされ、PHP開発用に構成されている</a>必要があります。 </p>
<h2><a name="editorLayout"></a>PHP向けのNetBeans IDEのエディタのレイアウト</h2>
<p>エディタには次のウィンドウがあります。</p>
<ul>
<li>編集中のファイルを表示する「エディタ」ウィンドウ。「エディタ」には、開いているファイルごとのタブがあります。</li>
<li>現在存在するプロジェクトのリストを表示する「プロジェクト」ウィンドウ</li>
<li>各プロジェクトのファイルを表示する「ファイル」ウィンドウ</li>
<li>現在使用可能な外部サービス(データベースなど)のリストを表示する「サービス」ウィンドウ</li>
</ul>
<p>[Ctrl]+[7]を押して、左側のパネルに「ナビゲータ」ウィンドウを開くこともできます。PHPクラスがエディタ内で開いている場合、「ナビゲータ」にはそのクラスの構造が表示されます。クラスでないPHPファイルは「ナビゲータ」ウィンドウに表示されません。</p>
<p>これらのいずれかのウィンドウに関するヘルプを開くには、ウィンドウ内の任意の要素を選択し、[F1]を押します。</p>
<h2><a name="SyntaxHighlighting"></a>構文の強調表示 </h2>
<p>エディタでは、PHP、HTML、JavaScript、およびCSSの各コード・ブロックの構文が強調表示されます。 </p>
<p>現在のバージョンでは次の構文要素が強調表示されます。</p>
<ul>
<li>PHPのキーワードおよび変数<br><img alt="強調表示されたPHPキーワード" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/keywords.png"></li>
<li>PHPの定数およびマジック定数<br><img alt="マジック定数" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/magic-constant.png"></li>
<li>HTMLタグ(入力フォームの属性を含む)<br><img alt="PHPファイルで強調表示されているHTML" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/html.png"></li>
<li>Apache Webサーバーの<code>.htaccess</code>または<code>httpd.conf</code>ファイル<br><img alt="強調表示されたhttpd.confファイルの内容" class="margin-around b-bottom b-right" src="../../../images_www/articles/72/php/editorguide/improvements-in-coloring-1.png"></li>
<li>PHPの番号</li>
<li>PHPDocコメント・ブロック内のHTMLタグ<br><img alt="強調表示されたPHPの番号、およびPHPDocブロック内のHTMLタグ" class="margin-around b-right b-bottom" src="../../../images_www/articles/72/php/editorguide/improvements-in-coloring-2.png"></li>
<li>現在の行が水色の背景で表示される。<br><img alt="青色で強調表示される現在の行" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/highlight-selected-line.png"></li>
<li>PHP変数、関数、またはクラスの内部にキャレットを配置することによって、変数のすべての出現箇所が強調表示される。<img alt="選択された変数" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/select-variable.png"></li>
<li>エラーが検出された行に赤い下線が表示される。<br><img alt="強調表示されたエラー" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/error.png"> </li>
</ul>
<br>
<p>強調表示の設定を変更するには、<tt>「ツール」>「オプション」</tt>を選択し、「フォントと色」タブに移動します。次に設定を指定します。</p>
<h2><a name="goToDeclaration"></a>宣言へ移動</h2>
「宣言へ移動」機能を使用すると、ユーザーは、変数または関数の出現箇所から、その変数または関数が宣言または初期化されている行まで移動できます。この機能を使用するには、関連する変数または関数の出現箇所にカーソルを置き、コンテキスト・メニューから「ナビゲート」>「宣言へ移動」を選択するか、[Ctrl]-[B]/[⌘]-[B]を押すか、または[Ctrl]を押しながらクリックします。
<h2><a name="Navigator"></a>「ナビゲータ」ウィンドウ</h2>
<p>「ナビゲータ」ウィンドウは、現在アクティブなファイルのPHP構造を示す要素のリストとしてコード構造を表示します。ファイルに他のテキスト・ソース(たとえばHTML)が含まれる場合は、その構造もリストに表示されます。リスト内の関数または変数をダブルクリックすると、クリックした要素の宣言にカーソルが配置されます。 </p>
<p class="alert"><b>注意:</b> 「ナビゲータ」ウィンドウはPHPクラスのPHPコードのみ表示します。クラス外部のPHPコードは表示できません。</p>
<p>ナビゲータのリストには、通常は埋込みリストは含まれませんが、複雑な文の場合は埋込み構造が含まれる場合があります。たとえば、PHPクラス宣言文は、宣言されているクラス・メンバーのツリーとして表示される場合があります。 </p>
<p>リストは、ユーザーがコードを入力すると動的に更新されます。 </p>
<p>「ナビゲータ」ウィンドウは、左側のパネルの下部に表示されます。</p>
<ol>
<li>「ナビゲータ」ウィンドウを開くには、[Ctrl]+[7]を押すか、または「ウィンドウ」>「ナビゲート」>「ナビゲータ」に移動します。HTML構造とPHP構造の階層を示すツリーが表示されます。</li>
<li>特定の要素に移動するには、リスト内で該当するノードをダブルクリックします。<br><img alt="「ナビゲータ」ウィンドウを使用した関数の選択" class="margin-around b-top b-right b-bottom" src="../../../images_www/articles/72/php/editorguide/using-navigator-window.png"></li>
</ol>
<h2><a name="CodeFolding"></a>コード折りたたみ</h2>
<p>エディタを使用すると、ユーザーはPHPソース・コードが含まれる現在編集中のファイルで、モジュール、クラス、または関数の表示と非表示を切り替えることができます。コードの一部を折りたたんだり表示したりするには、コード左側の「-」または「+」のアイコンをクリックするか、または[Ctrl]+[+]または[Ctrl]+[-]を押します。 </p><img alt="NB 7.2でのコードの折りたたみ" class="margin-around" src="../../../images_www/articles/72/php/editorguide/improved-code-folding-1.png">
<h2><a name="SmartIndent"></a>スマート・インデント</h2>
<p>エディタでは、ユーザーの入力中にコードが自動的にフォーマットされます。 </p>
<h2><a name="Formatting"></a>フォーマット</h2>
<p>コードの一部をフォーマットしてわかりやすくするには、次の手順を行います:</p>
<ol>
<li>該当するコードを選択します。</li>
<li>右クリックのコンテキスト・メニューから「フォーマット」を選択するか、または[Alt]+[Shift]+[F]を押します。</li>
</ol>
<h2><a name="BracketCompletion"></a>括弧の補完</h2>
<p>ユーザーがコードを入力しているとき、エディタによって対応する括弧や引用符が自動的に追加されたり除去されます。 </p>
<ul>
<li>一重引用符' 'と二重引用符" "、小括弧()、および角括弧[]の最初の記号をユーザーが入力すると、対応する記号が追加されます。</li>
<li>行末には、一重または二重の右引用符に続けてセミコロンが追加されます。</li>
<li>ユーザーが[Enter]を押すと右中括弧が追加され、スマート・インデント機能もアクティブ化されます。</li>
<li>一重または二重の左引用符、左小括弧、または左角括弧を削除すると、対応する右の記号も自動的に除去されますが、行末のセミコロンに影響はありません。
<li>カーソルが右の小括弧)、中括弧 }、または角括弧 ]にあるとき、対応する左の記号が黄色で強調表示されます。 <br> <img alt="強調表示された括弧" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/bracket-highlighting.png"></li>
</ul>
<h2><a name="instant-rename"></a>名前変更リファクタリングと名前の即時変更</h2>
<p>クラス名などの要素の名前をプロジェクト内のすべてのファイルにわたって変更できます。この機能では、変更を行う前に変更をプレビューすることが強制されます。プレビュー・ウィンドウには、その要素のすべての場所が示され、出現した要素を個別に名前変更の対象から除外できます。</p>
<p>名前変更リファクタリングは、古い機能である名前の即時変更と対比されます。名前の即時変更も引続き使用できますが、メソッド内の変数の名前変更、privateである変数やフィールドの名前変更など、public以外のコンテキストでのみ機能します。名前の即時変更では1つのファイル内の要素のみ名前を変更でき、プレビュー・ウィンドウは提供されません。</p>
<p>名前の即時変更を使用するには、変更する名前にカーソルを置き、[Ctrl]-[R]を押します。名前の即時変更がその変数に適用されると、その変数名または関数名のすべてのインスタンスが強調表示されます。</p>
<img alt="[Ctrl]-[R]を押した後のPHPコード・エディタ" src="../../../images_www/articles/72/php/editorguide/refactor-ctrlr.png">
<p> 名前の1つのインスタンスを変更すると、ファイル内の他のインスタンスもすべて同時に変更されます。</p>
<img alt="リファクタリングされた変数名を示すPHPコード・エディタ" src="../../../images_www/articles/72/php/editorguide/refactor-afterchange.png">
<p>名前変更リファクタリングを使用するには、名前を変更する要素を選択し、[Ctrl]-[R]を押すか、または右クリックして「リファクタリング」>「名前変更」を選択します。要素の名前を変更するダイアログが開きます。</p>
<img alt="変数の名前を変更するためのダイアログ" class="margin-around" src="../../../images_www/articles/72/php/editorguide/rename-confirm.png">
<p>要素の名前を変更して、「プレビュー」を押します。「リファクタリング」ウィンドウが開きます。このウィンドウでは、プロジェクト内での要素のすべてのインスタンスを検索し、その名前を変更するかどうかを決定できます。</p>
<img alt="「リファクタリング」ウィンドウ" class="margin-around" src="../../../images_www/articles/72/php/editorguide/refactoring.png">
<p>名前変更リファクタリングの詳細は、スクリーンキャストの<a href="../../docs/php/screencast-rename-refactoring_ja.html">PHP向けのNetBeans IDE 7.0での名前変更リファクタリングおよび他のエディタの改善</a>を参照してください。</p>
<h2><a name="CodeCompletion"></a>コード補完</h2>
<p>コード補完は、コーディングのプロセスを高速化する一連の機能の総称です。</p>
<p>次のタイプのコード補完があります。 </p>
<ul>
<li><a href="#snippets">スニペット</a></li>
<li><a href="#contextSensitiveProposals">状況に応じた候補</a></li>
<li><a href="#abbreviations">省略名</a></li>
<li><a href="#cc-constructors">コンストラクタ内でのコード補完</a></li>
<li><a href="#cc-sql">SQLコード補完</a></li>
<li><a href="#cc-namespaces">PHP 5.3の名前空間</a></li>
<li><a href="#cc-overridden-methods">オーバーライドおよび実装されたメソッド</a></li>
</ul>
<div class="indent"><h3><a name="snippets"></a>スニペット </h3>
<p>スニペットによってユーザーは様々な要素のコードを自動的に生成できます。</p>
<ol>
<li>「ツール」>「パレット」>「コード・クリップ」を選択します。様々なユーザー・インタフェース要素を含むパレットが右側のパネルに表示されます。</li>
<li>パレット上にある必要なアイコンを、コード内の適切な場所までドラッグします。対応する要素のパラメータを指定するためのダイアログ・ボックスが表示されます。データを入力します。</li>
<li>選択した要素を表示するコードが生成され、選択した位置に挿入されます。</li>
</ol>
<h3><a name="contextSensitiveProposals"></a>状況に応じた候補 </h3>
<p>エディタでは、次の先頭の数文字を入力すると、状況に応じた候補が表示されます。 </p>
<ul>
<li>PHPキーワード(if、else、elseif、while、switch、functionなど) </li>
<li>PHP組込み関数(substr、countなど)</li>
<li>事前定義またはユーザー定義の変数</li>
</ul>
<p>エディタでは、候補が表示されるのみでなく、<a href="#ParameterHints">パラメータ・ヒント</a>も表示されます。コード補完を適用するには: </p>
<ol>
<li>必要な文字列の先頭の数文字を入力します。 </li>
<li>[Ctrl]+[Space]を押します。ドロップダウン・リストに、状況に応じた候補が表示されます。各候補について説明とパラメータ・ヒントが表示されます。入力を続けるとリストの内容が変化します。 <br><img alt="関数のコード補完" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/function-cc.png"></li>
<li>現在のコンテキストで使用できるPHPキーワードのリストを取得するには、何も入力せずに[Ctrl]+[Space]を押します。
</li>
<li>変数に関するヒントを表示するには、ドル記号「$」を入力します。現在使用可能なすべてのローカル変数とグローバル変数のリストが表示されます。<br><img alt="変数のコード補完" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/variable-cc.png"></li>
</ol>
<h3><a name="abbreviations"></a>コード・テンプレートと省略名</h3>
<p>ここでは、「省略名」とは、プログラミング言語で使用されるキーワードに対応する、事前定義された一連の文字列を指します。省略名はそれぞれ、完全なキーワードを含む展開されるテキスト、およびパラメータ・ヒントを含むキーワードのコード・テンプレートに関連付けられています。この機能を適用するには、省略名を入力して[Tab]を押します。 </p>
<img alt="テンプレートの省略名" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/template-abbr.png"><br>
<p>省略名が対応するキーワードに置き換わり、キーワードのコード・テンプレートが表示されます。</p>
<p><img alt="展開されたclsテンプレート" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/template-expanded.png"></p>
<p>コード・テンプレートでは、境界線が紫色の青いボックス内にカーソルがある場合、カーソルはテンプレート内のフィールドにあります。フィールド名または値を入力します。そのフィールドのすべてのインスタンスでも値が変更されます。終了後に[Enter]を押すと、次のフィールド(または、<code>${cursor}</code>変数の位置、残りのフィールドがない場合はテンプレートの外部)にカーソルが移動します。
</p>
<img alt="2番目のフィールドが選択されたテンプレート" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/template-secondfield.png">
<p>定義されている省略名のリストとコード・テンプレートを表示するには:</p>
<ol>
<li><tt>「ツール」>「オプション」>「エディタ」>「コード・テンプレート」</tt>を選択します。 </li>
<li>「言語」ドロップダウン・リストから「PHP」を選択します。PHPの省略名のリストと、省略名に定義されているコード・テンプレートが表示されます。</li>
<li>リストに対して定義を追加または除去するには、それぞれ「新規」ボタンまたは「除去」ボタンを使用します。</li>
<li>定義を編集するには、該当する行を選択し、リストの下の編集フィールドでテキストを編集します。<br><img alt="省略名のリスト、および省略名に対して定義されたコード・テンプレート" class="margin-around" src="../../../images_www/articles/72/php/editorguide/code-template-definitions-list.png"></li></ol>
<p>詳細は、<a href="../../docs/php/code-templates_ja.html">PHP向けのNetBeans IDEのコード・テンプレート</a>を参照してください。</p>
<h3><a name="cc-constructors"></a>コンストラクタのコード補完</h3>
<p><tt>new</tt>キーワードの入力後に、プロジェクト内で使用可能なすべてのクラスのコンストラクタとパラメータを示すコード補完ウィンドウが表示されます。</p>
<img alt="コンストラクタのコード補完ヒント" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/cc-constructor.png">
<h3><a name="cc-sql"></a>SQLコード補完</h3>
<p>文字列がSQLのキーワード「select」で始まるときに、SQLコード補完が表示されます。最初に、データベース接続を選択します。</p>
<img alt="データベース接続を示すコード補完" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/cc-sql.png">
<p>IDEに登録されているすべてのデータベース接続が表示されます。</p>
<img alt="IDEに登録されているすべてのデータベース接続" class="margin-around" src="../../../images_www/articles/72/php/editorguide/cc-sql-dbconnections.png">
<p>接続を選択すると、SQLコード補完には、そのデータベース接続のすべての表が表示されます。 </p>
<p><img alt="wishlistデータベース接続のすべての表" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/cc-sql-tables.png"></p>
<p>表に列がある場合は、列も表示されます。</p>
<p><img alt="表の列の表示" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/cc-sql-columns.png"></p>
<p>SQLコード補完は、表のエイリアスにも使用できます。</p>
<img alt="hotelエイリアスの表を示すSQLコード補完" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/cc-sql-aliases.png">
<h3><a name="cc-namespaces"></a>PHP 5.3の名前空間</h3>
<p>PHP 5.3から、コード補完は、完全修飾、部分修飾、および非修飾の名前空間名をサポートしています。詳細は、<a href="../../docs/php/namespace-code-completion-screencast_ja.html">スクリーンキャスト</a>を参照してください。</p>
<p>また、IDEは、名前空間の不足している<tt>use</tt>文を解決するのに役立ちます。不足している<tt>use</tt>文を修正する<em>名前空間内</em>で、右クリックして「使用の修正」を選択するか、または[Ctrl]-[Shift]-[I]を押して「ソース」>「使用の修正」を選択します。ダイアログが開き、必要な各use文の完全修飾名が提示されます。詳細は、<a href="https://blogs.oracle.com/netbeansphp/entry/how_to_fix_your_use">use文の修正方法</a>を参照してください。</p>
<h3><a name="cc-overridden-methods"></a>オーバーライドおよび実装されたメソッド</h3>
<p>クラス・メンバー間でのコード補完によって、メソッドのオーバーライドまたは実装が可能です。</p>
<p><img alt="コード補完によるメソッドのオーバーライド" class="margin-around" src="../../../images_www/articles/72/php/editorguide/cc_overriden_methods.png"></p>
<h3><a name="clever-catch-cc"></a>高度なTry/Catchコード補完</h3>
<p>NetBeans IDE 7.1以降では、<tt>catch</tt>文のコード補完には、<tt>Exception</tt>から継承されたクラスのみが含まれるようになりました。</p>
<p><img alt="catchパラメータでの高度なコード補完が表示されたエディタ" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/clever-catch-cc.png"></p>
<h3><a name="annotations">注釈</a></h3>
<p>NetBeans IDEのコード補完では、次のタイプのPHP注釈をサポートしています。</p>
<ul>
<li>ApiGen (レガシーPHPDoc注釈)</li>
<li>PHPUnit</li>
<li>Doctrine 2 (ORMおよびODM)</li>
<li>Symfony 2</li>
</ul>
<p>すべての注釈はコンテキストに関連付けることができます。NetBeans IDEでは、次の4つのコンテキストを認識します。</p>
<ul><li>関数</li>
<li>クラス/インタフェース(型)</li>
<li>メソッド</li>
<li>フィールド</li></ul>
<p>「ツール」>「オプション」>「PHP」>「注釈」を選択して、さらに注釈をコード補完に追加できます。</p>
<h3><a name="traits"></a>PHP 5.4のトレイト</h3>
<p>トレイトは、PHP 5.4.0で導入されたコード再利用の機構です。(トレイトの詳細は、<a href="http://php.net/manual/en/language.oop5.traits.php">php.netのドキュメント</a>を参照。)NetBeans IDEではトレイト構文を認識し、コード補完にはメソッド、関数、およびトレイトから継承されたりトレイトで宣言されたりしていないものが含まれます。 </p><img alt="トレイトのコード補完" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/php54-traits-1.png">
</div>
<h2 id="php54">PHP 5.4のサポート</h2>
<p>PHP向けのNetBeansエディタは、PHP 5.4を使用した開発に固有な多数の機能を備えています。</p>
<ul>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_array">配列の参照解除</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_anonymous">匿名オブジェクト変数</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_short">配列の短縮構文</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_built">組込みWebサーバー</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_traits">トレイトのコード補完</a></li>
<li><a href="https://blogs.oracle.com/netbeansphp/entry/php_5_4_support_minor">その他の機能</a></li>
</ul>
<h2><a name="rectangular"></a>四角形選択</h2>
<p>PHP向けのNetBeans IDE 7.1では、四角形選択アクションが導入されました。この編集機能は、貼り付けたコード内の行番号を削除する場合などに便利です。</p>
<p>四角形選択を有効にするには、「四角形選択」トグル・ボタンを押すか、または[Ctrl]-[Shift]-[R]を押します。</p>
<p><img alt="「四角形選択」トグル・ボタンが表示されたエディタ" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/rec-selec-togglebutton.png"></p>
<p>四角形選択が有効な場合、マウスまたはキーボードで選択を行うことができます。キーボードを使用する場合は、キャレットを隅に配置し、[Shift]を押しながら矢印キーを押して必要な部分を選択します。</p>
<p><img alt="貼り付けられた行番号の四角形選択を示すエディタ" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/rec-selec-made.png"></p>
<p>領域が選択されているときにテキストを書き込んだ場合、テキストは選択された領域の各行に配置されます。これは、クラス内の複数のフィールドにあるアクセス修飾子を同時に変更する場合などに便利なことがあります。</p>
<p><img alt="四角形選択内のすべての行にアクセス修飾子を追加したエディタ" class="margin-around b-top b-right" src="../../../images_www/articles/72/php/editorguide/rec-selec-addtext.png"></p>
<h2><a name="phpdoc"></a>ApiGenのサポート</h2>
<p>NetBeans IDE 7.2には、ApiGenの組込みサポートが追加されました。詳細は、スクリーンキャストの<a href="../../docs/php/screencast-apigen.html">NetBeans IDEでのPHPドキュメントの生成</a>を参照してください。</p>
<p class="alert"><b>警告:</b> PHPDocumentorでは、PHP 5.3を完全にサポートしていません。名前空間および他のいくつかの5.3機能は、PHP Documentorではドキュメント化されません。</p>
<h2><a name="code-generators"></a>コード・ジェネレータ</h2>
<p>[Alt]-[Insert] (Macの場合は[Ctrl]-[I])の組合せを押すと、メニューが開き、利用可能なすべてのコード・ジェネレータが表示されます。ジェネレータのリストは状況に応じて異なります。キーの組合せを押したときの、コード内でのキャレットの位置によって異なります。コード内の位置に応じて、データベース接続、データベース表、ロレム・イプサム・テキストなどを生成できます。この項では、次のコード・ジェネレータについてのみ説明します。</p>
<ul>
<li><a href="#generate-constructors">コンストラクタ</a></li>
<li><a href="#generate-getters-setters">取得メソッドおよび設定メソッド</a></li>
<li><a href="#generate-overriden-methods">オーバーライドおよび実装されたメソッド</a></li>
</ul>
<div class="indent">
<h3><a name="generate-constructors"></a>コンストラクタ</h3>
<p>キャレットがクラス本文の中にあるとき、[Alt]-[Insert] (Macの場合は[Ctrl]-[I])を押してコンストラクタを生成できますが、その本文内に含まれている関数の中では生成できません。「コンストラクタの生成」を選択すると、ダイアログが開き、コンストラクタで初期化できるフィールドのリストが表示されます。フィールド名は、コンストラクタのパラメータとして使用されます。</p>
<p><img alt="コンストラクタで初期化するフィールドのダイアログ" class="margin-around" src="../../../images_www/articles/72/php/editorguide/generate-constructor-fields.png"></p>
<p>フィールドを選択しないことも可能です。この場合、IDEは、パラメータを持たない空のコンストラクタを生成します。そのフィールドが複数のプロパティを持つクラスである場合、プロパティを個別に選択するか、またはクラスを選択することができます(クラスを選択すると、そのクラスのすべてのプロパティが自動的に選択されます)。</p>
<p>詳細は、<a href="http://blogs.oracle.com/netbeansphp/entry/generate_constructor_getters_and_setters" target="_blank">NetBeans PHPのブログ投稿</a>を参照してください。</p>
<h3><a name="generate-getters-setters"></a>取得メソッドおよび設定メソッド</h3>
<p>キャレットがクラス本文の中にある場合に、[Alt]-[Insert] (Macの場合は[Ctrl]-[I])を押して「取得メソッド」、「設定メソッド」、または「取得メソッドおよび設定メソッド」を選択すると、取得メソッドと設定メソッドを生成できます。利用可能な関数のみが表示されます。たとえば、利用可能なプロパティの設定メソッドがすでにある場合は、取得メソッドのオプションのみが表示されます。</p>
<p>「取得メソッドの生成」、「設定メソッドの生成」、または「取得メソッドと設定メソッドの生成」を選択すると、ダイアログが開き、取得メソッドまたは設定メソッドを生成できるプロパティが表示されます。プロパティはツリーに表示されます。親クラスを選択すると、そのクラスのすべてのプロパティが自動的に選択されます。</p>
<p>取得メソッドまたは設定メソッドに、getName規則またはget_name規則に従った名前を付けることができます。</p>
<p>詳細は、元の<a href="http://blogs.oracle.com/netbeansphp/entry/generate_constructor_getters_and_setters" target="_blank">NetBeans PHPのブログ投稿</a>および<a href="http://blogs.oracle.com/netbeansphp/entry/generating_getters_and_setters_improved" target="_blank">取得メソッドおよび設定メソッドの生成の改善</a>の投稿を参照してください。</p>
<h3><a name="generate-overriden-methods"></a>オーバーライドおよび実装されたメソッド</h3>
<p>キャレットがクラス宣言の中にあり、クラス・メンバーが複数存在する場合、[Alt]-[Insert] (Macの場合は[Ctrl]-[I])を押して、オーバーライドまたは実装されたメソッドを生成できます。挿入可能なメソッドを表示するダイアログが開き、そのメソッドがオーバーライドされるか実装されるかを示します。</p>
<p><img alt="オーバーライドされたメソッドを生成するためのダイアログ" class="margin-around" src="../../../images_www/articles/72/php/editorguide/generate_overriden_methods.png"></p>
<p>この機能は、「すべての抽象メソッドを実装」ヒント機能、および<a href="#cc-overridden-methods">オーバーライドおよび実装されたメソッドのコード補完</a>機能を補完します。</p>
<p>詳細は、<a href="http://blogs.oracle.com/netbeansphp/entry/generate_overriden_implemented_methods" target="_blank">NetBeans PHPのブログ投稿</a>を参照してください。</p>
</div>
<h2><a name="ParameterHints"></a>パラメータ・ヒント </h2>
<p>エディタでは、関数またはメソッドがコールされているコンテキストで、関数またはメソッドの仮パラメータに関するプロンプトがユーザーに表示されます。</p>
<ol>
<li>コールする関数の先頭の数文字を入力します。 </li>
<li>[Ctrl]+[Space]を押します。ドロップダウン・リストに状況に応じた候補と、各候補の仮パラメータが表示されます。<br><img alt="状況に応じたヒントのリスト" class="margin-around" src="../../../images_www/articles/72/php/editorguide/parametr-hint-one.png">
</li>
<li>適切な候補を選択して[Enter]を押します。選択した関数の名前がコードに挿入され、パラメータを入力するためのテンプレートが角括弧内に表示されます。<br><img alt="状況に応じた選択済の候補のパラメータ・ヒント" class="margin-around" src="../../../images_www/articles/72/php/editorguide/parametr-hint-two.png">
</li>
</ol>
<h2><a name="vartyp-cmnt"></a>コメント内での変数の型の定義</h2>
<p>コメント内で変数とその型を定義できます。コメントは、<em>/* @<strong>var</strong> $variable type */</em>の形式になっている必要があります。正しく記述されているコメントは、<em><strong>var</strong></em>タグが太字フォントになります。</p>
<p><img alt="コメント内で宣言された変数" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/vardoc-basic.png"> </p>
<p>コード・テンプレート<tt>vdoc</tt>の入力後に[Tab]を押すと、変数を定義するコメントを生成できます。変数名が選択され、変更できる状態になります。もう一度[Tab]を押すと、型が選択されます。</p>
<p><img alt="vdocテンプレートによって生成された、コメントを宣言する変数" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/vardoc-template.png"> </p>
<p>コード・テンプレートによって変数名と型が自動的に設定されます。テンプレートを挿入した位置の後で使用している変数がある場合は、その変数名がデフォルトで表示されます。テンプレートを挿入した位置の後に変数がなく、テンプレートの前で使用している変数がある場合は、その変数名がデフォルトで表示されます。NetBeans IDEがテンプレートを使用している近くで変数を見つけることができない場合、デフォルト名は<em>variable</em>になります。変数の型は、同じルールに従って自動的に設定されます。</p>
<img alt="デフォルトの変数名と型を使用してvdocテンプレートで生成された、コメントを宣言する変数" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/vardoc-template-names.png">
<h2><a name="errorMessages"></a>エラー・メッセージ</h2>
<p>エディタでは、コードの入力中にその構文が分析され、構文エラーがあった場合はエラーのある行に下線が表示され、その横に赤い丸が設定されます。エラーの説明を表示するには、エラーがある行にマウスを置くか、赤い丸をクリックします。エラーの簡単な説明を示すツールチップが表示されます。<br><img alt="エラー・メッセージ: エラーがある行の上に表示されたツールチップ。" class="margin-around" src="../../../images_www/articles/72/php/editorguide/error-messaging-m1.png">
</p>
<h2><a name="phpunit"></a>PHPUnitとSeleniumのテスト</h2>
<p>PHP向けのNetBeans IDEは、コード・カバレージを含む<a href="http://www.phpunit.de" target="_blank">PHPUnit</a>自動化テストをサポートしています。コード内のテスト・グループを使用できます。</p>
<p>NetBeans IDEでは、PHPUnitに加えて、Seleniumの移植可能なテスト・フレームワークもサポートされています。Seleniumプラグインは、更新センターから入手できます。このプラグインをインストールすると、SeleniumサーバーがIDEの登録済サーバーに追加され、Seleniumのテスト・オプションがPHPのメニューに追加されます。</p>
<p>詳細は、<a href="../../docs/php/phpunit_ja.html">PHPUnitとSeleniumを使用したテスト</a>を参照してください。</p>
<h2 id="spellchecker">スペル・チェッカ</h2>
<p>スペル・チェッカを使用できます。「オプション」ダイアログで、様々な言語のスペル・チェックをオンまたはオフに切り替えることができます。</p>
<p><img alt="「オプション」ダイアログのスペル・チェッカ" class="margin-around" src="../../../images_www/articles/72/php/editorguide/spellchecker-options.png"></p>
<p>「オプション」ダイアログでは、新しい辞書を追加および除去したり、ロケールを設定したりできます。新しい辞書を追加する場合は、単語を含むファイルを用意する必要があります。辞書ファイルの形式は、各単語が新規行に記載された単語のリストです。辞書ファイルのエンコード、およびファイルが使用するロケールを、NetBeansに対して指示する必要があります。 </p>
<p><img alt="スペル・チェッカへの新しい辞書の追加" class="margin-around" src="../../../images_www/articles/72/php/editorguide/spellchecker-newdictionary.png"></p>
<p>スペル・チェッカは辞書にない単語を検出すると、その単語に赤色の下線を付けます。またスペル・チェッカはその単語に、「スペル・ミスの単語」と表示するツールチップを追加します。HTMLテキストはPHPファイル内でチェックされます。</p>
<p><img alt="PHPファイル内のHTMLテキストで検出されたエラー" class="margin-around" src="../../../images_www/articles/72/php/editorguide/spellchecker-html.png"></p>
<h2><a name="symfony"></a>Symfony、Symfony2、およびZendフレームワークのサポート</h2>
<p>Symfony、Symfony2、およびZendフレームワークのサポートがPHPエディタに組み込まれています。これは、既存のSymfonyフレームワークとZendフレームワークを認識し、新規PHPプロジェクト・ウィザードの最後のパネルで、新しいプロジェクトにフレームワークを追加できます。</p>
<p>Symfony、Symfony2、またはZendをサポートするPHPプロジェクトでは、プロジェクトのコンテキスト・メニューからSymfonyまたはZendコマンドを実行できます。</p>
<img alt="Symfonyコマンドが表示されたコンテキスト・メニュー" class="margin-around" src="../../../images_www/articles/72/php/editorguide/symfony-contextmenu-commands.png">
<p>次の場合に、コマンドのUIを使用します。</p>
<ul>
<li>Symfony/Zendコマンドをフィルタする(1)</li>
<li>コマンド・パラメータを指定する(2)</li>
<li>コマンドを選択する(3)</li>
<li> コマンドのコンテキスト・ヘルプを参照する(4) </li>
<li>実行するコマンド全体をプレビューする(5)</li>
</ul>
<img alt="注釈付きのSymfonyコマンド・ダイアログ" class="margin-around" src="../../../images_www/articles/72/php/editorguide/symfony-command-dialog.png">
<p>コマンドのリストはプロジェクト固有です。つまり、PropelのかわりにDoctrineを使用する場合、Propelコマンドはリストされず、Doctrineのコマンドのみがリストされます。プロジェクトのSymfonyプラグインからのコマンドもすべて使用できます。</p>
<p>コード補完は、SymfonyビューのSymfony変数、Symfony2ビューのSymfony2変数、およびZendビューのZend変数で使用できます。 </p>
<img alt="コード補完でのSymfony変数" border="1" class="margin-around" src="../../../images_www/articles/72/php/editorguide/symfony-variables.png">
<p>IDEには、Symfony/Zendビューとアクション間のナビゲーション・ショートカットも用意されています。NetBeans 6.9では、これらのショーカットが改善されました。さらに、<em>ビュー</em>・テンプレート/ファイルでのコード補完に、<em>コントローラ/アクション</em>・ファイル内で宣言されている変数が含まれるようになりました。詳細は、<a href="http://blogs.oracle.com/netbeansphp/entry/framework_support_improvements" target="_blank">NetBeans PHPのブログ投稿</a>を参照してください。</p>
<p>Zendフレームワークのサポートの詳細は、Zendの<a href="../../docs/php/zend-framework-screencast_ja.html">スクリーンキャスト</a>を参照してください。</p>
<h2><a name="smarty"></a> Smartyのサポート</h2>
<p>NetBeans IDEにはSmartyフレームワークのサポート用のプラグインが含まれています。このサポートには、基本的なSmarty 3機能、つまりSmarty 3のコード補完とデリミタが含まれます。</p>
<p><img alt="基本的なSmarty 3のサポートを示すエディタ" class="margin-around b-all" src="../../../images_www/articles/72/php/editorguide/smarty3.png"></p>
<p>「オプション」ウィンドウで、Smarty 3とSmarty 2の動作を切り替えます。「ツール」>「オプション」(MacOSの場合は「NetBeans」>「プリファレンス」)に移動し、「PHP」を選択して、「Smarty」タブを開きます。Smartyフレームワークのプラグインがインストールされている必要があります。</p>
<p><img alt="Smartyのオプション" class="margin-around" src="../../../images_www/articles/72/php/editorguide/smarty-options.png"></p>
<h2 id="doctrine2">Doctrine2のサポート</h2>
<p>Doctrine2 ORMとその必須パッケージをインストールしている場合は、NetBeans IDEのコード補完とDoctrine2機能をあわせて使用して、IDEからDoctrine2コマンドを実行できます。IDEの「オプション」でDoctrine2実行スクリプトへのパスを設定し、PHPプロジェクトでDoctrine2を有効にする必要があります。詳細は、NetBeans PHPブログの<a href="https://blogs.oracle.com/netbeansphp/entry/doctrine2_support_added">追加されたDoctrine2のサポート</a>を参照してください。</p>
<h2><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20PHP%20Editor%20Guide">このチュートリアルに関するご意見をお寄せください</a></h2>
<br style="clear:both;" >
<p><a href="../../../community/lists/top.html">users@php.netbeans.orgメーリング・リストに登録する</a>ことによって、NetBeans IDE PHP開発機能に関するご意見やご提案を送信したり、サポートを受けたり、最新の開発情報を入手したりできます。</p>
<p><a href="../../trails/php.html">PHPの学習に戻る</a></p>
</body>
</html>