Как я могу использовать переменную в другой переменной в классе PHP, как это:
<?php
class example
{
var $first_num = 8;
var $second_num = $first_num + 3;
public function forexample($num)
{
if($num == $this->first_num)
{
echo $this->second_num;
}
}
etc...
}
?>
Я хочу использовать этот способ в классе.
Помогите мне, пожалуйста.
То, что вы хотите сделать, это на самом деле это:
<?php
class example
{
var $first_num;
var $second_num;
function __construct() {
$this->first_num = 8;
$this->second_num = $this->first_num + 3;
}
}
Помните, что хотя вы можете инициализировать переменные напрямую, объявляя их в теле класса, вы можете использовать конструктор класса для более сложных инициализаций.
В этом конкретном случае запрещено объявлять переменную, используя непостоянное значение, поэтому использование конструктора обязательно для переменной $second_num
,
Кроме того, если вы хотите настроить видимость переменных, вы можете использовать private
, public
, или же protected
модификаторы доступа вместо прежних версий var
, что устарело.
Вам придется сделать это в конструкторе. Увидеть http://php.net/manual/en/language.oop5.properties.php :
Это объявление может включать в себя инициализацию, но эта инициализация должна быть постоянным значением, то есть она должна быть в состоянии быть оцененной во время компиляции и не должна зависеть от информации времени выполнения для оценки.
Смотрите ответ сэра Дария.
Вы должны использовать конструктор. Как только вы это сделаете, вы можете использовать переменные в любом месте класса!
<?php
class example {
private $first_num;
private $second_num;
function __construct() {
$this->first_num = 8;
$this->second_num = $this->first_num + 3;
}}
?>
Поскольку вы обновили свой вопрос, вам нужно будет установить переменные как public, а не private.