Я только начал изучать PHP, и у меня возникают проблемы с его синтаксисом. Я изучаю, как писать класс в php, и я использовал синтаксис, похожий на Java. Однако я не могу заставить ни его конструктор, ни обычный метод работать, и я не могу понять, почему.Конструкторы и методы класса PHP
<?php
class bento {
public $food;
public $staple = "rice";
protected $veggie = "kale";
public function __construct($fd){
$food = $fd;
}
public function getstaple(){
return $staple;
}
}
$chicken=new bento("chick");
echo "<br>".$chicken->food;
echo "<br>".$chicken->staple;
$fd=$chicken->getstaple();
echo "<br>".$fd;
echo "<br>".$chicken->getstaple();
?>
Вот результат, который я получил:
//result
rice
//end of result
В основном, из 4-х строк, я получил только одну строку, чтобы работать (печатать переменную скрепками $). Конструктор не присваивал значение «цыпленок» $ food. Функция getstaple() не возвращала значения.
Я не могу понять, как заставить это работать.
Вам нужно использовать $ this для свойств экземпляра, например. $ this-> food = $ fd. В отличие от Java, вы не можете просто ссылаться на имя свойства напрямую. –
Будете ли вы продавать некоторые [bento] (http://en.wikipedia.org/wiki/Bento)? Отправьте некоторых в Испанию! (; –