PHPの全目次
クラスの定義の目次
引数があるメンバーメソッド
メンバーメソッドには引数を取る事もできます。その場合の構文は下記のようになります。
class クラス名{ public メンバ変数名;
function メンバメソッド名(引数1, 引数2, …){ // クラスの中で行う処理 }}
メソッド名の後の括弧の中に、引数として受け取るための変数を記述します。複数ある場合はカンマ(,)で区切って並べて記述して下さい。
例として新しいチャンネルを設定するメソッドを定義してみます。
class Television{ public $channelNo;
function dispChannel(){ print(‘現在のチャンネルは’.$this->channelNo); }
function setChannel($channel){ $this->channelNo = $channel; $this->dispChannel(); }}
上記では”setChannel”メソッド内で、引数で渡されてきた値をメンバ変数にセットし、そして同じクラス内の”dispChannel”メソッドを呼び出してチャンネルを表示しています。
なお、クラス内でメンバメソッドを呼び出すには”this”を使って下記のように記述します。
$this->メンバメソッド();
そしてオブジェクトからメソッドを呼び出す時に、メソッドに渡したい値を括弧の中に記述してメソッドを呼び出します。
$tv = new Television();$tv->setChannel(5);
class Television(){ public $channelNo;
function dispChannel(){ print(‘現在のチャンネルは’.$this->channelNo); }
function setChannel($channel){ $this->channelNo = $channel; $this->dispChannel(); }}
サンプルコード
▼Example-class2-1.php
<!DOCTYPE html><html lang=”ja”><head><title>PHP TEST</title></head><body>
<?php
$tv = new Television();$tv->setChannel(5);
class Television{ public $channelNo;
function dispChannel(){ print(‘現在のチャンネルは’.$this->channelNo); }
function setChannel($channel){ $this->channelNo = $channel; $this->dispChannel(); }}
?></body></html>
上記のファイルをwwwサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。