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を学ぶ(2)

PHPのコーディング規則、PSRを学ぶ(1)の続きです。 今回は基本中の基本、文字コードと改行コードを設定します。 自宅サーバーで試します。(自宅サーバーの作り方はこちら) そのための基本設定も行いま …

[Meisyo]練習難易度の不均衡是正への分析的アプローチ2

[Meisyo]練習難易度の不均衡是正への分析的アプローチから早3か月。 「練習ごとに難易度が違いすぎるんですけど!!」という不満は少しは解消されたかなー・・・ 効果測定してないのにわかるの?エスパー …

[Meisyo] ver 0.32 リリース情報と2020年4月以降の開発予定について

名将と呼ばれた者達をver 0.32にアップデートします。 更新概要 1・探索の追加 2・探索の追加に伴うゲームバランスの再調整 更新詳細 探索の追加 アイテムを発掘できる動的なゲームシステムを追加し …

(失敗作)愚痴のプラットフォーム アゴニア(αγωνία)

Photo by Alex Iby on Unsplash 今日とりあえず作ってみたけど面白くなかったのを紹介。 コンセプト:  匿名で後ろ向きに愚痴を吐き捨てる場所が欲しい なぜか?: どんどん実名 …

[Kaggle] Titanic 約80% by ランダムフォレスト

実力不足感が否めませんが、Kaggleのチュートリアル的なTitanicにおいてランダムフォレストで正答率約80%を出せたのでコードを載せておきます。 Colaboratory 実施期間:2019/0 …