1

私はphpのOOP概念の初心者です。このようなクラスを作成しました

<?Php
  class ShopProductWriter {
    public function write( $shopProduct ) {
    $str = "{$shopProduct->title}: " .
            $shopProduct->getProducer() .
           " ({$shopProduct->price})\n";
    print $str;
    }
  }

  $product1 = new ShopProduct( "My Antonia", "Willa", "Cather", 5.99 );
  $writer = new ShopProductWriter();
  $writer->write( $product1 );
?>

ここで、実際にチュートリアルからこの例を実行しているように、エラーが発生してFatal error: Class 'ShopProduct' not found in line 11います。間違った部分がどこにあるか教えてもらえますか。チュートリアルとまったく同じように作成しました。

4

2 に答える 2

2

次のような ShopProduct クラスも定義する必要があります。

class ShopProduct 
{
    public $title;
    public $price;        

    public function __construct( $title, $value1, $value2, $price)
    {
        $this->title = $title;
        $this->price= $price;
    }
}
于 2012-07-06T06:07:00.180 に答える
1

定義していませんが、クラス ShopProduct の新しいインスタンスを作成します。ShopProductWriter のみを宣言し、ShopProduct は宣言しませんでした。それが機能する理由$writer = new ShopProductWriter();$product1 = new ShopProduct( "My Antonia", "Willa", "Cather", 5.99 );機能しない理由です。

于 2012-07-06T06:06:08.650 に答える