初めてクラスとオブジェクトを試しているので、Books などを格納できる Box のテンプレートを作成しようと考えました。(現実世界のアイテムの観点から考える)
<?php
function feetToInches($feet){
$feet = $feet * 12;
return $feet;
}
class Book{
var $l = 6;
var $w = 5;
var $h = 1;
}
class Box{
//This is a box. It has length, width, and height, and you can put things in it.
var $length = 0;
var $width = 0;
var $height = 0;
var $storedArray = array();
function setDimensions($l, $w, $h){
$this->length = feetToInches($l);
$this->width = feetToInches($w);
$this->height = feetToInches($h);
}
function storeThings($thing){
$this->storedArray[] = $thing;
}
function getThings(){
return $this->storedArray;
}
}
$thatBook = new Book;
$BookBox = new Box;
$BookBox->setDimensions(6,5,1);
for($i = 0; $i < 5; $i++){
$BookBox->storeThings($thatBook);
}
echo $BookBox->getThings() . "<br />";
/*
foreach($BookBox->getThings() as $item){
echo $item;
}
*/
var_dump($BookBox);
?>
ここにあるのは単純です。ある次元の箱があり、そこに固定された次元の本を入れます。
入れるのは問題ないのですが、取り出そうとするとエラーが出たり、何も起きなかったりします。そして、次のような配列のキーを指定しようとすると
echo $BookBox->getThings()[2];
配列などではないというエラーが表示されます。
誰かがここで正しい方向に私を向けることができますか?
通常、クラスは別のファイルになりますが、ここで学習しているだけです。