static $変数;このように、冒頭にstaticを付けるだけです。アクセス・キーワードを付ける場合は、staticの後に「static private $hoge;」という具合に書きます。これらのフィールドやメソッドの呼び出しは、
static function メソッド ( 仮引数 ){……}
クラス::$変数;このように記述します。クラス名の後に、::という記号をつけて記述します。注意したいのは、フィールドです。インスタンスフィールドは、○○->○○というように記述しますが、クラスフィールドの場合は、○○::$○○というように、$をつけて記述する必要があります。
クラス::メソッド ( 引数 );
TextModify::setTagData('<span style="font-size:200%;">','</span>');
TextModify::setFInd('PHP');newでインスタンスを作ることもなく、いきなりクラスに値を設定していますね。そして実際にテキストを出力させるときには、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>
| << 前へ | 次へ >> |