2016-03-22 6 views
1

私のPHPコードの配列を印刷に失敗です:コードは非常に単純ですPHPはオブジェクト

<?php 
    class Product { 
     var $product_name; 
     var $retailer; 

     function __constructor($product, $retailer) { 
      $this->product_name = $product; 
      $this->retailer = $retailer; 
     } 

     function getProduct() { 
      return $this->product_name; 
     } 
    } 

    $product_arr = array(); 

    for ($f = 0; $f < 100; $f++) { 
     array_push($product_arr, new Product("asd", "xcxcxc")); 
    } 
    print_r($product_arr); 
?> 

、私は「製品」と呼ばれるクラスを持って、私は配列が100 Productオブジェクトで構成されて構築し、しかしとき配列を印刷しようとしましたが、オブジェクトのproduct_nameとretailerフィールドがすべて空であることがわかりました。なぜこれが起こるかわからない。

答えて

3

間違った名前:

function __constructor($product, $retailer) { 
         ^^^ 

PHPの標準コンストラクタの名前は単に__construct(なしor)です。したがって、コンストラクタを実際に呼び出すことは決してありません。つまり、変数の割り当ては実行されませんでした。

+0

正確で素早く、なぜ数字に知識がないのでしょうか。 +10 –