0

これは私の最初の投稿です。

私はYiiフレームワークが初めてです。

現在、レンダリング ビューに問題があります。コントローラーをレンダリングすると、未定義の変数エラーが発生します。

エラーを取得する変数がifステートメントで囲まれているのに、なぜ未定義変数エラーが発生するのかわかりません。

以下のコードは、私が実際に取り組んでいるコードを簡略化したものです。

私を助けてください!未定義変数エラーが発生する理由と、この問題の解決方法を知りたいです。

よろしくお願いします!!!

+++ コントローラー +++

class CategoryController extends Controller
{

    public function actionIndex()
    {

        $flag = false;

            if($flag){

                $this->render('index', array('test'=>$flag));

            }


        //This causes "Undefined variable:test" Error.
        $this->render('index');

        //This works fine.
        //$this->render('index', array('test'=>$flag));

    }


}

+++ ビュー(これはレイアウト ビューでレンダリングされます。 +++

<?php 
if($test){ 
    echo "$test is false";
}else{
    echo "$test is true";
}
?>
4

1 に答える 1

2

$testControllers render を介さずに View 内のにアクセスしようとする試みは間違っているため、エラーが発生するのは事実です。

常にレンダリング関数で変数を渡すかif(isset($test))、ビューファイルに設定されているかどうかを確認します。

乾杯!

于 2013-08-09T08:53:48.673 に答える