開発中の Web アプリに OOP の原則を取り入れようとしています。
クラス ImageData が次のように定義されているとします。
class ImageData {
private $count;
private $dirArray;
public function __construct() {
$count = 0;
$dir = "panos/thumbs";
$dirCon = opendir($dir);
while ($name = readdir($dirCon)){
if (strtolower(substr($name, -3)) == "jpg"){
$dirArray[]= $name;
}
}
sort($dirArray);
$count= count($dirArray);
closedir($dirCon);
}
public function getCount(){
return $this->count;
}
public function getArray(){
return $this->dirArray;
}
}
ここでの情報を使用して、Web ページのレンダリングに使用したいと考えています。指定された div 要素内で、私は持っています
$imageData = new ImageData();
$count = $imageData->getCount();
$data = $imageData->getArray();
ただし、$count
と$data
はローカルでインスタンス化されず、含まれている情報をレンダリング コードで使用することはできません。xdebug でコードをステップ実行すると、コンストラクターが期待値を$count
およびに割り当てます$data
。Java および C では、宣言時に変数をインスタンス化する必要はありません。これはPHPに当てはまりますか?