落書きノート

ふと自分が気になった事を書いてます

PHP 練習問題 コンストラクタ

staticの使い方が勉強になりました。以下のプログラムです。

<html>
<head>
  <title>コンストラクタ</title>
</head>
<body>
  <?php
  class Pform{
    public $syomei;
    public $kakaku;
    public static $cnt = 0;

    public function __construct($s, $k){
      Pform::$cnt++;
      $this->syomei = $s;
      if($k >= 0 && $k <= 5000){
        $this->kakaku = $k;
      }else{
        $this->kakaku = -1;
      }
    }

    public function getSumBooks(){
      return count($this->syomei);
    }

    public function getsyomei(){
      return $this->syomei;
    }

    public function getkakaku(){
      return $this->kakaku;
    }
  }

  $obj = new Pform("PHP入門", 1500);
  $obj2 = new Pform("VBAプログラミング", 2000);
   ?>
   <table border="2">
     <tr>
       <th>書名</th>
       <th>価格</th>
     </tr>
     <tr>
       <?php
        print "<td>" . $obj->getsyomei() . "</td><td>" . $obj->getkakaku() . "</td>";
        ?>
     </tr>
     <tr>
       <?php
        print "<td>" . $obj2->getsyomei() . "</td><td>" . $obj2->getkakaku() . "</td>";
        ?>
     </tr>
   </table>
   <hr />
   <?php
      print "合計冊数:" . Pform::$cnt;
    ?>
</body>
</html>

20160206143348