RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

PHPのコーディング規則、PSRを学ぶ(4)

投稿日:2013年11月12日 更新日:

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」ファイルを新規作成。
そのファイルに以下のコードを記述します。

&lt;?php
require_once 'SplClassLoader.php';

$classloaderTest = new SplClassLoader('Test', __DIR__);
$classloaderTest-&gt;register();

$obj = new Test\Call();
echo $obj-&gt;SayHello();

この「test.php」では、「Test」ベンダーの呼び出しと「Test\Clas」クラスの「SayHello」関数を呼び出します。
文字コードは「UTF-8(BOMなし)」、改行コードは「LF」で保存します。

「C:\xampp\htdocs\phptest」フォルダに「Test」フォルダを新規作成。
「C:\xampp\htdocs\phptest\Test」フォルダに移動して、「Call.php」を新規作成。
そのファイルに以下のコードを記述します。

&lt;?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-&gt;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)

参考

40分濃縮 PHP classの教室

-Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

[PHP]まとめ読みをPSRで改良する(3)

(2)の記事から「PDO」を使い、データの通信をオブジェクト化しました。 password_hashを使い、パスワード処理の暗号化も行いました。 PDOを導入する一番の理由は「mysql_query」 …

[Meisyo]お試しトークルーム作成

Meisyoに、他監督にショートメッセージを送れる機能を付けようと思います。 メインは管理者への連絡手段の作成です。 個人間での交流もあればいいかなー程度の適当さで作っています。 必要機能: ・個人間 …

[Meisyo]速球の地位向上

[Meisyo]ビッグデータから学ぶ試合の基礎設計4から早4か月。 「速球の上方修正してほしいな」というコメントが届きました。 すみません! 制球に比べ、速球は蔑ろにされてきたことはわかっております。 …

(VPSでつくる) Nginx+PHPでHello World

連載第七回目です。 今回はGUIでデータベースを操作できるphpMyAdminのインストール準備のために、PHPという言語をインストールします。 この記事は、VPSで作るPythonでのWebアプリ運 …

(VPSでつくる) NginxでHello World

連載第三回目です。 WebサーバーであるNginxをインストールして、オンライン上でアクセスしてみましょう。 今回の工程で、オンラインからWebサイトの閲覧が可能になります。 この記事は、VPSで作る …