Доступ к переменной в функции из другой функции. PHP - PullRequest
0 голосов
/ 13 июля 2011

У меня есть эта функция


function theme_status_time_link($status, $is_link = true) {
    $time = strtotime($status->created_at);
    if ($time > 0) {
        if (twitter_date('dmy') == twitter_date('dmy', $time) && !setting_fetch('timestamp')) {
            $out = format_interval(time() - $time, 1). ' ago';
        } else {
            $out = twitter_date('H:i', $time);
        }
    } else {
        $out = $status->created_at;
    }
    if ($is_link)
        $out = "<a href='status/{$status->id}' class='time'>$out</a>";
    return $out;
}

и это

function twitter_is_reply($status) {
    $html = " <b><a href='user/{$status->from->screen_name}'>{$status->from->screen_name}</a></b><br /> $actions $link<br />{$text} <small>$source</small>";
}

Мне нужно передать переменную $ из первой функции во вторую функцию, точно вПеременная $ html во второй функции.Однако все, что я пробую, либо выдает ошибки, но ничего не выводит.Без использования глобальных переменных, потому что в моем скрипте это встречается несколько раз.Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 июля 2011

Если вы хотите использовать функции, отправьте их в качестве аргумента:

function twitter_is_reply($status, $html) {
    $html .= " <b><a href='user/{$status->from->screen_name}'>{$status->from->screen_name}</a></b><br /> $actions $link<br />{$text} <small>$source</small>";

    return $html;
}

Использование:

$out = theme_status_time_link();

echo twitter_is_reply('helloworld', $out);
0 голосов
/ 13 июля 2011

Теперь вы начинаете понимать, почему ОО так хорош.
Создайте один класс, сделайте из него член $ и две функции, сделайте их методами этого класса.

...