PHP с использованием свойств класса внутри класса

Меня немного смущает PHP. В приведенном ниже примере единственным приемлемым способом является инициализация bVar в конструкторе. Всегда ли мне нужно это делать, если я хочу использовать свойства класса внутри самого класса? Или мой синтаксис просто плох для этой цели при доступе к свойствам класса внутри самого класса?

class test{
protected aVar = "varValue";
protected bVar;
function __construct(){
    $this->bVar = "varValue";
}

function testerFunc(){
    echo $aVar //undefined variable
    echo $this->$aVar //undefined variable
    echo $bvar //works fine
}


}

Я не могу представить, что echo $bvar работает. Если вы хотите получить доступ к этой переменной, вы должны вызвать ее так: $this->bVar

Fabian Schmick 22.02.2019 08:20

У вас есть опечатка, когда вы пытаетесь повторить $aVar. Должно быть echo $this->aVar; Удалите знак доллара перед именем переменной.

Fabian 22.02.2019 08:21

Переменные в PHP представлены знаком доллара, за которым следует имя переменной!

RainDev 22.02.2019 08:24

Как говорит RainDev, вам также нужен знак доллара, когда вы объявляете переменную в первую очередь: protected $aVar = "varValue";

Fabian 22.02.2019 08:25

Кроме того, во всех ваших эхо-операторах отсутствуют точки с запятой.

Fabian 22.02.2019 08:27
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
42
1

Ответы 1

Ваш синтаксис немного беспорядок:

class test {
    protected $aVar = "varValue";
    protected $bVar;

    function __construct() {
        $this->bVar = "varValue";
    }

    function testerFunc() {
        echo $aVar; //undefined variable
        echo $this->aVar; // varValue (works fine)
        echo $this->bVar; // varValue (works fine)
        echo $bvar; //undefined variable
    }
}

Другие вопросы по теме