我正在为Mustache模板构建数据结构。我可以使用数组轻松构建它。但是,由于我试图了解有关使用对象的更多信息,我想改为使用Object。
$mySlider = array("title" => "Photos of Las Vegas");
$mySlider = array("items" => array());
foreach ( $query as $row ) {
$newItem = [];
$newItem["postTitle"] = $row["imageTitle"];
$newItem["postURL"] = $row["imageURL"];
}
array_push($mySlider["items"], $newItem);
这是我目前的解决方案。我不喜欢它,代码太多了。通过使用"滑块"的对象我希望能够做到这样的事情:
$mySlider = new PhotoSlider("Photos of Las Vegas");
foreach ( $query as $row ) {
$newPhoto = $mySlider->newPhoto();
$newPhoto->addProperty("imageTitle", $row["imageTitle"]);
$newPhoto->addProperty("imageURL", $row["imageURL"]);
}
我知道我刚刚做了这个,但这会更好。
如何在PHP中编写此Object以使其仅使用一个类以此方式工作?当我注意到我需要另一个对象用于" newPhoto()"元素,因为这需要它自己的一些方法来做" addProperty",例如。
我很感激任何指针。谢谢!
答案 0 :(得分:1)
您需要创建2个类,一个用于PhotoSlider,另一个用于Photo。 Photoslider将拥有一系列照片,以及将Photo对象添加到PhotoSlider,删除等方法。照片类将具有set属性方法。像:
$mySlider = new PhotoSlider("Photos of Las Vegas");
foreach ( $query as $row ) {
$newPhoto = new Photo();
$newPhoto->addProperty("imageTitle", $row["imageTitle"]);
$newPhoto->addProperty("imageURL", $row["imageURL"]);
$mySlider->addPhoto($newPhoto);
}