1
   class UserController extends Zend_Controller_Action
  {
      protected $varGlobal;
      public function oneAction()
      {
           $this->varGlobal=0;

           .........
       }
      public function twoAction()
       {
            $temp=$this->varGlobal;//temp return null;
        }

  }

oneAction() を実行した後に varGlobal の値を保持するにはどうすればよいですか? ありがとう!

4

3 に答える 3

1

静的プロパティを試すこともできます:

class UserController extends Zend_Controller_Action
  {
      protected static $varGlobal;
      public function init(){
            self::$varGlobal=0;
      }
      public function oneAction()
      {
           self::$varGlobal=15;

           .........
       }
      public function twoAction()
       {
            $temp=self::$varGlobal;//temp return 0,don't change value after excute oneaction();
        }

  }
于 2012-10-15T13:10:22.237 に答える
0

まあ、同じオブジェクトでメソッド$this->varGlobalを呼び出す限り持続します。twoActionリクエストごとに新しいオブジェクトが作成されます。したがって、次のリクエストが twoAction に送信された場合、1 つのアクションは起動されません。

すべてのオブジェクトの変数を設定するには、init関数を使用してそこで変数を初期化できます。

于 2012-10-15T08:35:03.390 に答える
0

Zend_Controller_Action::_setParam() と Zend_Controller_Action::_getParam() を使用しないのはなぜですか? または Zend_Registry ?

于 2012-10-15T11:39:32.943 に答える