static $変数;このように、冒頭にstaticを付けるだけです。アクセス・キーワードを付ける場合は、staticの後に「static private $hoge;」という具合に書きます。これらのフィールドやメソッドの呼び出しは、
static function メソッド ( 仮引数 ){……}
クラス::$変数;このように記述します。クラス名の後に、::という記号をつけて記述します。注意したいのは、フィールドです。インスタンスフィールドは、○○->○○というように記述しますが、クラスフィールドの場合は、○○::$○○というように、$をつけて記述する必要があります。
クラス::メソッド ( 引数 );
TextModify::setTagData('<span style="font-size:200%;">','</span>');newでインスタンスを作ることもなく、いきなりクラスに値を設定していますね。そして実際にテキストを出力させるときには、
TextModify::setFInd('PHP');
TextModify::writeRenderText('Hello PHP!');こんな具合に、ただメソッドを呼び出すだけです。非常にシンプルな使い方になりました。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<?php class TextModify { static private $header = "<b>"; static private $footer = "</b>"; static private $find = "PHP"; static function setTagData($h,$f){ self::$header = $h; self::$footer = $f; } static function setFind($f){ self::$find = $f; } static function writeRenderText($s){ $res = str_replace(self::$find, self::$header . self::$find . self::$footer, $s); echo $res; } } // クラスの準備 TextModify::setTagData('<span style="font-size:200%;">','</span>'); TextModify::setFInd('PHP'); if ($_POST != null){ $str = $_POST['text1']; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1> <?php TextModify::writeRenderText('Hello PHP!'); ?> </h1> <p><?php TextModify::writeRenderText('ここに、PHPという文字を含む文章を書いて下さい。'); ?></p> <hr> <p><?php TextModify::writeRenderText($str); ?></p> <form method="post" action="./index.php"> <textarea name="text1" cols="40" rows="5"><?php echo $str; ?></textarea> <br><input type="submit"> </form> <hr> </body> </html>
<< 前へ | 次へ >> |