PHPのコーディング規則、PSRを学ぶ(3)の続きです。
今回は実際にクラス名定義を自宅サーバーで試してみます。
1.「SplClassLoader.php」を手に入れる
「ダウンロード」または「直接入力」の方法があります。
・ダウンロードでの方法
http://gist.github.com/221634にアクセスして「Download Gist」をクリック。
ダウンロードファイルは「.tar.gz」形式なので、「7Zip」などで解凍します。
「SplClassLoader.php」を「C:\xampp\htdocs\phptest」フォルダにコピー&ペーストします。
文字コードは「UTF-8(BOMなし)」、改行コードは「LF」で保存します。
(文字コード・改行コードの設定方法がわからない方はこちらの記事(詳細は5章)で解説しています)
・直接入力での方法
「C:\xampp\htdocs\phptest」フォルダに「SplClassLoader.php」ファイルを新規作成。
そのファイルをテキストエディタで開いておきます。
http://gist.github.com/221634にアクセスして「<>」(View Raw)をクリック。
「SplClassLoader.php」のコードのみが表示されるので、「Ctrlボタン+Aキー」または「右クリック > 全てを選択」で全てを選択し、コピーします。
テキストエディタで開いておいた「SplClassLoader.php」に貼り付け(ペースト)します。
文字コードは「UTF-8(BOMなし)」、改行コードは「LF」で保存します。
(文字コード・改行コードの設定方法がわからない方はこちらの記事(詳細は5章)で解説しています)
2.ローカルサーバーにあるファイルを編集
「C:\xampp\htdocs\phptest」フォルダに「test.php」ファイルを新規作成。
そのファイルに以下のコードを記述します。
<?php require_once 'SplClassLoader.php'; $classloaderTest = new SplClassLoader('Test', __DIR__); $classloaderTest->register(); $obj = new Test\Call(); echo $obj->SayHello();
この「test.php」では、「Test」ベンダーの呼び出しと「Test\Clas」クラスの「SayHello」関数を呼び出します。
文字コードは「UTF-8(BOMなし)」、改行コードは「LF」で保存します。
「C:\xampp\htdocs\phptest」フォルダに「Test」フォルダを新規作成。
「C:\xampp\htdocs\phptest\Test」フォルダに移動して、「Call.php」を新規作成。
そのファイルに以下のコードを記述します。
<?php namespace Test; class Call { public function SayHello() { return 'Hello'; } }
この「Call.php」では、「Test」ベンダー中で「Call」クラスを定義し、「SayHello」関数をpublic(外でも呼び出せる)に設定します。
文字コードは「UTF-8(BOMなし)」、改行コードは「LF」で保存します。
「SayHello」関数が正常に呼び出されれば「Hello」と表示されます。
3.テストしてみる
XAMPPからApache(サーバー)を開始します。
(紹介しているPHP記述法はPHP5.3以上でないと動かないようです。PHP5.3未満の方は自宅サーバーの作り方を参考にしてください)
「http://localhost/phptest/test.php」にアクセスします。
「Hello」と表示されれば完了です。
表示されない場合はもう1度見直してください。
4.関数を追加してみる
「C:\xampp\htdocs\phptest\test.php」に以下のコードを追加します。
echo $obj->SayGoodBye(); // GoodByeを追加
「C:\xampp\htdocs\phptest\Test\Call.php」の「Call」クラス内に以下の関数を追加します
public function SayGoodBye() { return '?GoodBye'; }
「http://localhost/phptest/test.php」にアクセスします。
「Hello?GoodBye」と表示されます。
役割としては、赤が「SayHello」、青が「SayGoodBye」関数に分割されています。
Hello?GoodBye
いろいろと試してみてください。
変数とか定数はどうなの?という方は40分濃縮 PHP classの教室で解説されています。
今回は以上で終了します。
次の記事
次は、「PSRの規則をまとめてみる」を行います。
PHPのコーディング規則、PSRを学ぶ(5)へ