PHP DocBlocker拡張機能は、DockBlockの記述を容易にしてくれる。例えば、「/**」と入力して[Tab]キーを押せば、そのスケルトンを自動生成してくれる。また、「@」で始まるタグ名の補完も可能だ(PHP IntelliSenseではこれはサポートされていない)。
例として、先ほど作成したcreateMessage関数のDocBlockをこの拡張機能の力を借りて作ってみよう。
「/**」を入力した時点でIntelliSenseにより「*/」が自動で挿入されるが、その後で[Tab]キーを押すことで、createMessage関数のパラメーターを考慮に入れたDocBlockが自動的に作成されるのが分かるはずだ。後は、必要事項を記入しては[Tab]キーを押していくことで、DocBlockの記述が簡単に行える。
phpcsはDocBlockについてもチェックをしてくれる。そこで、エラーが出ないように、上で作成したDocBlockに少し手を入れたものが以下だ(強調書体の部分)。
<?php
/**
* Create hello message
*
* @param string $h hour to make message.
*
* @return string hello message depended on hour.
*/
function createMessage($h)
{
if (6 <= $h && $h <= 11) {
$msg = "Good morning!, ";
} elseif (12 <= $h && $h <= 18) {
$msg = "Good afternoon!, ";
} elseif (19 <= $h && $h <= 22) {
$msg = "Good evening!, ";
} else {
$msg = "Good night!, ";
}
return $msg;
}
date_default_timezone_set('Asia/Tokyo');
$d = getdate();
$h = $d["hours"];
$msg = createMessage($h);
print($msg . $_POST["whom"]);
次に、ファイルレベルのDocBlockを記述しておこう。これも上と同様な手順で行えばよい。「/**」を入力して[Enter]キーを押した直後の画像を以下に示す。
phpcsにより、ファイルレベルのDocBlockに足りない要素(タグ)が列挙されているのが分かる(ウィンドウ下部の[問題]タブ)。そこで、これらを追加していくのだが、このときにはタグの補完をしてくれる。
不足しているタグを記述したものが以下だ。
<?php
/**
* PHP Sample
*
* PHP Version 7
*
* @category Sample
* @package Sample
* @author insider.net <insidernet@example.com>
* @copyright 2018 Insider.net
* @license https://opensource.org/licenses/mit-license.php MIT
* @link http://www.atmarkit.co.jp
*/
/**
* Create hello message
*
* @param string $h hour to make message.
*
* @return string hello message depended on hour.
*/
function createMessage($h)
{
// …… 省略 ……
}
// …… 省略 ……
このように、PHP DocBlocker拡張機能を使うことで、DocBlockの記述も容易に行えるようになる。前回紹介した、PHP IntelliSense拡張機能とPHP Debug拡張機能に加えて、これらを活用することで、VS CodeとPHPを利用した開発がずいぶんと楽になるだろう。
本稿の最後に、ちょっとしたタイミングで役に立ちそうな拡張機能をもう一つ紹介しよう。
Code Runner拡張機能は、PHPに限らず、さまざまなプログラミング言語のスニペットをVS Code内で実行してくれるものだ。ちょっとしたコードを試してみたいといったときに便利に使える。
この拡張機能をインストールすると、VS Codeのエディタ(タブ)を表示する領域の右端に三角形のボタン([Run Code]ボタン)が表示されるようになる。
例えば、以下のようなコードを書いたとしよう。
<?php
class Person
{
private $name;
private $age;
public function show() {
print "name: " . $this->name . ", age: " . $this->age;
}
public function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
$p1 = new Person("insider.net", "50");
$p1->show();
Code Runner拡張機能でこのコードをテストするには、先に述べた[Run Code]ボタンをクリックするか、エディタのどこかを右クリックしてコンテキストメニューから[Run Code]を選択する。これにより、ウィンドウ下部に[出力]タブが開かれ、そこにコードの実行結果が表示される。
「このコードをちょっと試しておきたいな」といったときに、便利に使えるはずだ。
前回に紹介した拡張機能に加えて、今回紹介した拡張機能を利用することで、VS CodeでのPHPプログラミングがさらに快適になるはずだ。
Copyright© Digital Advantage Corp. All Rights Reserved.