Переменные, функции и область видимости в PHP ООП - PullRequest
0 голосов
/ 17 октября 2019

Я довольно нуби в PHP. Я создал класс с функцией, которая будет передавать мои параметры для проверки, является ли поле пустым или нет.

У меня много объявленных переменных, поэтому я не хочу повторять код снова и снова.

Например: в file1.php у меня есть этот класс:

class wow {
    public $emptyString = '';
    public $data;

    function emptyValue($emptyString, $data) {
        $empty = empty($data) ? $emptyString : $data;
        echo $empty;
    }
}
$wow = new wow();

И в file2.php я вызываю функцию:

include 'file1.php';
$header_first_icon_title = get_field ('header_first_icon_title');

$wow->emptyValue('Field is empty', $header_first_icon_title );

Это работает только когдаЯ объявляю $header_first_icon_title = get_field ('header_first_icon_title'); право на $wow->emptyValue('Field is empty', $header_first_icon_title ); Буквально в одну строку выше.

Если я объявлю $header_first_icon_title = get_field ('header_first_icon_title'); в верхней части файла, и я позвоню, например, $wow->emptyValue('Field is empty', $header_first_icon_title ); после 2, 3 houndml строк html, это не поймает $data. Будет возвращено только «Поле пусто».

Я не уверен, почему это происходит. Я не получаю никаких ошибок. Я хочу объявить все переменные сверху, чтобы я мог вызывать их там, где они мне нужны, позже в файле.

Если кто-то может мне помочь / объяснить, почему так происходит, я был бы более чем благодарен.

...