如何在PHP中定义变量,从不同PHP类的函数中获取值?

时间:2015-06-26 18:27:58

标签: php yii

我有php脚本:

<?php
    echo CHtml::textArea('application_log', $applicationLog = '', array(
       'id'  => 'application_log_id',
       'rows'    => 20,
       'cols'    => 128,
    )); 
?>

在我的_tab3.php中定义,在我的控制器中我有一个功能:

public function actionLog()
    {
        $applicationLog  = '';
        // get the filter value to show max lines
        $showMaxLines    = (int) $this->getAppRequest()->getParam('log_show_max_lines', 50);

        try
        {
            foreach ($this->getLogData($showMaxLines) as $log)
            {
                $applicationLog .= $log;
            }
        }
        catch (CHttpException $ex)
        {
            $this->getWebUser()->setFlash('error', 'Error: ' . $ex->getMessage());
        }

        $this->render('log', array(
            'applicationLog' => $applicationLog,
            'showMaxLines'   => $showMaxLines,
            // 'log_show_max_lines' is a placeholder for the js value in the template
        ));
    }
我的$applicationLog中的

_tab3.php应该与我的actionLog()函数中的$applicationLog = ''相同。但它的定义如下:actionLog()我不知道怎样才能使它与函数.outerHeight()中的相同。我正在使用YII框架,我对此很新。感谢。

这是我的_tab3.php

1 个答案:

答案 0 :(得分:0)

两个问题:

  1. 在将$applicationLog传递给函数之前,您将''设置为$applicationLog

  2. 您没有将$applicationLog传递给部分视图。

  3. 您正在将_log从控制器正确传递到_tab3视图。

    但是,由于$applicationLog是部分视图,因此需要将_my_partial_view转发到视图。如果您有部分视图renderPartial,则可以将其作为$this->renderPartial('_my_partial_view', array('applicationLog' => $applicationLog)); 的第二个变量传递给数组。

    $applicationLog

    echo CHtml::textArea('application_log', $applicationLog, array(... 需要在所有部分视图中传递,直到使用它为止。

    最后,删除作业,它应该没问题。

    index.html