Home > PHP

PHP クラスの基礎(2)

 PHP クラスの基礎(1) に続いて今度は実際に使えるクラスを作ります。クラスは非常に抽象度が高く変数の名前空間(みたいなもの)が構造化しているので変数のぶつかり合いがなくて大規模なWebアプリを開発するには本当に便利なものです。ですので、できればユーザー定義関数からさらにクラスに進化させた方が後々便利です。

 クラスという概念にはある意味で抽象度の段階があります。それは、平のファイルにPHPを記述する場合に、最も基本的な出力方法として、
<? print "Hello World !"; ?>
というものがあります。これは固定された文字列を出力するだけの最も簡単な構造で、むしろ構造とは言えません。しかし、
<?
$word = "Hello World !";
print $word;
?>
となると、ちょっとプログラムっぽくなります。実際プログラムを書く意味は動的な情報を操作することになるので変数を使わないPHPなどありえませんが...。
 で、ここで引数と返り値という概念が取り込めます。
<?
$word = "Hello World !";
$re = out_put_word ($word);
print $re."\n";

function out_put_word ($word) {
   if ($word) {
      print $word."\n";
      $re = 1;
   } else {
      $re = 0;
   }
   return $re;
}
?>
  これらのユーザー定義関数が山ほどあったら呼び出すにも大変だし、変数名がダブってしまっても困るし、何せ大規模な作業になってくると分業がしづらくなってきます。そこでクラスの登場なのです。
<?
$object = new out_put_word_class();

$word = "Hello World !";
$re = $object->out_put_word($word);
print $object->$word1;
print $object->$word2;
print $object->$word3;
print $re."\n";

class out_put_word_class {
   var $word1 = "hogehoge";
   var $word2 = "hagehage";
   var $word3 = "momimomi";

    function out_put_word ($word) {
      if ($word) {
         print $word."\n";
         $re = 1;
      } else {
         $re = 0;
      }
   return $re;
   }

    //function out_put_word2 ($word) {
       //... 
    //}
}
?>
 実際にこれを使ってしまうと止められなくなります。例えば時間に関する関数をまとめてクラスにしておくこともできるし、クラスをクラスの中に入れることもできるのでかなり複雑なことができます。 







プロフィール



  • Name :: 山上オサム ♂(37)
  • Hobby :: 武術
  • Work :: Web Designer