現在、私はPHPを学習していますが、問題が発生しました。別のファイルから定義されたPHPクラスが動作しない
イベントを作成し、その名前、日付、説明、価格を設定/取得できるクラスがあります。現在、 "class_lib.php"というファイルにあります。
<head>
</head>
<body>
<div id="content">
<?php include 'class_lib.php'; ?>
<?php
$event = new Eventitem();
$event->setName("Some Event");
echo $event->getName();
?>
</div>
</body>
<footer>
</footer>
:
<?php
class Eventitem
{
private $eventName;
private $eventDate;
private $eventDesc;
private $eventPrice;
function __construct()
{
$this->eventName = "BLANK";
$this->eventDate = "January 1";
$this->eventDesc = "...";
$this->eventPrice = "$0.00";
}
public function setName($name)
{
$this->eventName = $name;
}
public function getName()
{
return $this->eventName;
}
public function getDate()
{
return $this->eventDate;
}
public function getDesc()
{
return $this->eventDesc;
}
public function getPrice()
{
return $this->eventPrice;
}
}
?>
さて、「blank.php」と呼ばれる私がテストベッドとして使用している他のファイルで、私はクラスを定義し、そののsetNameとのgetNameメソッドを使用しようとしました
ただし、実行すると何も表示されません。私は間違って何をしていますか?
'' nclude'を 'require'に変更します。あなたのスクリプトは転倒しますか? – Scoots
まだ空白です。あなたは転倒して何を意味しますか? –
このクラスはコンパイルされません。インスタンスプロパティは、PHP 4では 'var'を使用して宣言されていましたが、PHP 5以降は[' public'、 'protected'や' private']を使って宣言しなければなりません(http://php.net/manual/en/language)。 oop5.visibility.php)。 'var'を削除してください。また、コンストラクタを含むすべてのメソッドの可視性を宣言することをお勧めします。デフォルトの可視性は 'public'ですので、コードでは必須ではなく、必要でもありませんが、一貫性を持ち、すべてのメソッドの可視性を宣言する方がよいでしょう。 – axiac