亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > PHP > 正文

Zend Framework動(dòng)作助手FlashMessenger用法詳解

2024-05-04 23:43:38
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Zend Framework動(dòng)作助手FlashMessenger用法,分析了動(dòng)作助手FlashMessenger的功能,并結(jié)合實(shí)例形式演示了FlashMessenger的使用技巧,需要的朋友可以參考下
 

本文實(shí)例講述了Zend Framework動(dòng)作助手FlashMessenger用法。分享給大家供大家參考,具體如下:

FlashMessenger 用來處理Flash Messenger會(huì)話;FlashMessenger是一個(gè)神奇的助手。

有這么一種場景,在用戶注冊成功后,需要在提示頁面上顯示用戶的名稱,如果不通過get傳遞請求,當(dāng)然你也可以通過session傳遞

要顯示的用戶名稱。但是seesion的操作難免復(fù)雜,可以使用Flash Messenger快速的實(shí)現(xiàn)這個(gè)需求。

FlashMessenger助手允許你傳遞用戶可能需要在下個(gè)請求看到的消息。

FlashMessenger也是使用Zend_Session_Namespace來存儲(chǔ)消息以備將來或下個(gè)請求來讀取,但是相對簡單一些。

FlashMessenger簡單用法

在helper_demo1項(xiàng)目的基礎(chǔ)上

新增/helper_demo1/application/controllers/UserController.php

<?phpclass UserController extends Zend_Controller_Action{  protected $_flashMessenger = null;  public function init()  {    $this->_flashMessenger =    $this->_helper->getHelper('FlashMessenger');    $this->initView();  }  public function registerAction()  {    $this->_flashMessenger->addMessage('xxxxx,Welcome!');    $this->_helper->redirector('regtips');  }  public function regtipsAction()  {    $this->view->messages = $this->_flashMessenger->getMessages();  }}

新增/helper_demo1/application/views/scripts/user/regtips.phtml

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>test</title></head><body><?phpvar_dump($this->messages);?></body></html>

訪問http://www.localzend.com/helper_demo1/public/user/register
跳轉(zhuǎn)到http://www.localzend.com/helper_demo1/public/user/regtips

FlashMessager實(shí)現(xiàn)源碼如下

<?php/** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category  Zend * @package  Zend_Controller * @subpackage Zend_Controller_Action_Helper * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) * @license  http://framework.zend.com/license/new-bsd   New BSD License *//** * @see Zend_Session */require_once 'Zend/Session.php';/** * @see Zend_Controller_Action_Helper_Abstract */require_once 'Zend/Controller/Action/Helper/Abstract.php';/** * Flash Messenger - implement session-based messages * * @uses    Zend_Controller_Action_Helper_Abstract * @category  Zend * @package  Zend_Controller * @subpackage Zend_Controller_Action_Helper * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com) * @license  http://framework.zend.com/license/new-bsd   New BSD License * @version  $Id: FlashMessenger.php 23775 2011-03-01 17:25:24Z ralph $ */class Zend_Controller_Action_Helper_FlashMessenger extends Zend_Controller_Action_Helper_Abstract implements IteratorAggregate, Countable{  /**   * $_messages - Messages from previous request   *   * @var array   */  static protected $_messages = array();  /**   * $_session - Zend_Session storage object   *   * @var Zend_Session   */  static protected $_session = null;  /**   * $_messageAdded - Wether a message has been previously added   *   * @var boolean   */  static protected $_messageAdded = false;  /**   * $_namespace - Instance namespace, default is 'default'   *   * @var string   */  protected $_namespace = 'default';  /**   * __construct() - Instance constructor, needed to get iterators, etc   *   * @param string $namespace   * @return void   */  public function __construct()  {    if (!self::$_session instanceof Zend_Session_Namespace) {      self::$_session = new Zend_Session_Namespace($this->getName());      foreach (self::$_session as $namespace => $messages) {        self::$_messages[$namespace] = $messages;        unset(self::$_session->{$namespace});      }    }  }  /**   * postDispatch() - runs after action is dispatched, in this   * case, it is resetting the namespace in case we have forwarded to a different   * action, Flashmessage will be 'clean' (default namespace)   *   * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface   */  public function postDispatch()  {    $this->resetNamespace();    return $this;  }  /**   * setNamespace() - change the namespace messages are added to, useful for   * per action controller messaging between requests   *   * @param string $namespace   * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface   */  public function setNamespace($namespace = 'default')  {    $this->_namespace = $namespace;    return $this;  }  /**   * resetNamespace() - reset the namespace to the default   *   * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface   */  public function resetNamespace()  {    $this->setNamespace();    return $this;  }  /**   * addMessage() - Add a message to flash message   *   * @param string $message   * @return Zend_Controller_Action_Helper_FlashMessenger Provides a fluent interface   */  public function addMessage($message)  {    if (self::$_messageAdded === false) {      self::$_session->setExpirationHops(1, null, true);    }    if (!is_array(self::$_session->{$this->_namespace})) {      self::$_session->{$this->_namespace} = array();    }    self::$_session->{$this->_namespace}[] = $message;    return $this;  }  /**   * hasMessages() - Wether a specific namespace has messages   *   * @return boolean   */  public function hasMessages()  {    return isset(self::$_messages[$this->_namespace]);  }  /**   * getMessages() - Get messages from a specific namespace   *   * @return array   */  public function getMessages()  {    if ($this->hasMessages()) {      return self::$_messages[$this->_namespace];    }    return array();  }  /**   * Clear all messages from the previous request & current namespace   *   * @return boolean True if messages were cleared, false if none existed   */  public function clearMessages()  {    if ($this->hasMessages()) {      unset(self::$_messages[$this->_namespace]);      return true;    }    return false;  }  /**   * hasCurrentMessages() - check to see if messages have been added to current   * namespace within this request   *   * @return boolean   */  public function hasCurrentMessages()  {    return isset(self::$_session->{$this->_namespace});  }  /**   * getCurrentMessages() - get messages that have been added to the current   * namespace within this request   *   * @return array   */  public function getCurrentMessages()  {    if ($this->hasCurrentMessages()) {      return self::$_session->{$this->_namespace};    }    return array();  }  /**   * clear messages from the current request & current namespace   *   * @return boolean   */  public function clearCurrentMessages()  {    if ($this->hasCurrentMessages()) {      unset(self::$_session->{$this->_namespace});      return true;    }    return false;  }  /**   * getIterator() - complete the IteratorAggregate interface, for iterating   *   * @return ArrayObject   */  public function getIterator()  {    if ($this->hasMessages()) {      return new ArrayObject($this->getMessages());    }    return new ArrayObject();  }  /**   * count() - Complete the countable interface   *   * @return int   */  public function count()  {    if ($this->hasMessages()) {      return count($this->getMessages());    }    return 0;  }  /**   * Strategy pattern: proxy to addMessage()   *   * @param string $message   * @return void   */  public function direct($message)  {    return $this->addMessage($message);  }}

 



注:相關(guān)教程知識(shí)閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
中国黄色a级片| 国产成人精品日本亚洲专区61| 精品少妇theporn| 最新中文在线视频| 26uuu色噜噜精品一区二区| 国产伦视频一区二区三区| 午夜时刻免费入口| 欧美激情办公室videoshd| 污污视频免费看| 亚洲free性xxxx护士白浆| 无码人妻丰满熟妇区bbbbxxxx| 精品三级久久久久久久电影聊斋| 亚洲视频欧美在线| 欧美成人手机在线| 亚洲免费电影一区| 一个人看的www片免费高清视频| 自拍偷拍 国产| 精品视频日韩| 欧美肉体xxxx裸体137大胆| 亚洲深夜视频| 青青草成人在线观看| 欧美美女一区二区在线观看| 亚洲人成精品久久久久久| 欧美激情亚洲一区| 男人天堂综合网| 怡红院成永久免费人全部视频| 国产精品va在线播放| 思思99精品视频在线观看| 亚洲一区二区在线观看视频| 亚洲国产免费看| 午夜丝袜av电影| 91丨九色丨蝌蚪丨对白| 免费av一级电影| 国产一区二区在线网站| 亚洲视频视频在线| 一区二区不卡在线视频 午夜欧美不卡在| ts人妖交友网站| 日本一二区不卡| 成人免费视频国产免费麻豆| 无码 制服 丝袜 国产 另类| 亚洲欧美日韩区| 被弄出白浆喷水了视频| 国产激情综合| 特级西西www444人体聚色| 日本综合精品一区| av午夜精品一区二区三区| 国产精品91在线观看| 久久久久久久久久美女| 国产99久久九九精品无码免费| 亚洲aⅴ网站| 亚洲第一免费视频| 欧美日韩二三区| 91.com在线观看| 国产在线观看免费视频今夜| 免费在线观看麻豆视频| 久久夜色精品国产噜噜av小说| 精品亚洲成a人片在线观看| 日韩精品免费一区二区在线观看| 中文字幕av一区二区三区四区| 亚洲成a人片77777kkkk| 谁有免费的黄色网址| 亚洲天堂av一区二区三区| 色综合久久久久综合体桃花网| 色中色在线视频| 啪啪av大全导航福利综合导航| 给我免费观看片在线电影的| 欧美一级片在线观看| 九九热国产精品视频| 欧美极品美女视频网站在线观看免费| 国产日本在线观看| 久久电影网站| 无码人妻丰满熟妇啪啪网站| 麻豆国产精品777777在线| 在线免费电影观看| 日韩午夜av| 在线观看国产91| 国产精品一区二区三区免费视频| 正在播放一区| 激情亚洲一区二区三区四区| 黄色动漫在线免费看| 欧洲精品一区二区三区在线观看| 激情成人中文字幕| av网站免费在线观看| 亚洲一区二区在线播放相泽| 国产人妻精品一区二区三区不卡| 大地资源网3页在线观看| 蜜臀av午夜精品久久| 激情综合网五月婷婷| 在线一区二区日韩| 2020中文字幕在线| 97操在线视频| 一二三四区在线观看| 大地资源高清播放在线观看| 成人精品999| 国产女主播福利| 一本高清dvd不卡在线观看| 91精品网站| 78m国产成人精品视频| 性欧美疯狂xxxxbbbb| 在线免费国产| 变态另类丨国产精品| 亚洲国内高清视频| 欧美群妇大交群中文字幕| 国产寡妇色xxⅹ交肉视频| 亚洲xxxx3d| 久久婷婷国产| 亚洲国产精品狼友在线观看| 日韩欧美一区二| 国产精品一区二区精品| 精品二区三区线观看| 亚洲日本精品视频| 国产精品三区四区| 男人的天堂在线视频| 一区二区三区免费看视频| 日韩在线观看成人| 久久国产精品99久久久久久丝袜| 最新日韩一区| 国产精品国产三级国产aⅴ中文| 久久精品人人做人人爽人人| 在线免费观看视频网站| 国产日韩欧美视频| 国产精品入口免费麻豆| 免费在线观看av网站| 在线免费av一区| 日韩精品欧美国产精品忘忧草| 草草地址线路①屁屁影院成人| 精品视频国内| 久久影院亚洲| 伊人狠狠色丁香综合尤物| 亚洲经典一区二区三区| 精品五月天堂| 国产精品日韩久久久| 日本视频二区| 美女又爽又黄视频毛茸茸| 欧美亚洲色图校园春色| 黄色免费电影网站| 超碰在线97av| 欧美日韩亚洲综合| 国产综合久久久久久久久久久久| 国产一区二区三区久久久久久久久| 黄色工厂在线观看| 神马欧美一区二区| 亚洲色图21p| 午夜国产福利一区二区| 黄视频在线观看网站| 亚洲国产日韩欧美一区二区三区| 国产成人精品一区二区三区视频| 一菊综合网成人综合网| 久久93精品国产91久久综合| 亚洲最大的黄色网址| 日韩特级毛片| 亚洲欧洲视频在线| 高清视频国产| 综合在线亚洲| 国产日韩欧美二区| 国产乱色在线观看| 93在线视频精品免费观看| 国产乱人乱偷精品视频| 成人黄色片视频网站| 国产一区二区三区蝌蚪| 一区二区三区激情视频| 永久免费在线看片视频| 久久久久久欧美精品se一二三四| 欧美影片第一页| 国产美女被遭强高潮免费网站| 神马电影在线观看| 欧亚洲嫩模精品一区三区| 天干夜天天夜天干天ww| 免费观看一级欧美片| 国产无套粉嫩白浆在线2022年| 欧美极品少妇xxxxⅹ裸体艺术| 日韩av网站在线免费观看| 中文字幕在线亚洲精品| 色噜噜狠狠一区二区三区| 97影院在线午夜| 青草青在线视频| 91欧洲在线视精品在亚洲| 国产精品午夜久久久久久| 四虎成年永久免费网站| 青青久草在线| 国产精品88av| 日韩成人xxxx| 日韩精品成人在线观看| 国产亚洲一区在线播放| 日本一区二区在线免费观看| 色男人天堂综合再现| 九色视频九色自拍| 中文字幕22页| 天堂视频在线| 中文字幕巨乱亚洲| 日本中文字幕观看| 国产精品一卡二卡在线观看| 国产精品推荐精品| jiuse.com91视频| 伊人色**天天综合婷婷| 中文在线字幕免费观| 亚洲第一成肉网| 欧美日韩五码| 可以免费看不卡的av网站| 91福利在线视频| 精品国产精品三级精品av网址| 亚洲品质自拍视频网站| 18av千部影片| 日韩精品首页| 亚洲欧美精品中文字幕在线| 浮妇高潮喷白浆视频| 亚洲精品自拍动漫在线| 波多野结衣不卡视频| 国产精品欧美久久久久天天影视| 被黑人猛躁10次高潮视频| 免费一区二区在线观看| 人人超碰91尤物精品国产| 亚洲综合福利| 日韩av成人在线观看| 日本中文在线| 欧美另类视频在线观看| 欧美jizz18hd性欧美| 日韩精品中文字幕在线播放| 在线免费av播放| 国产精品视频男人的天堂| 成av人片一区二区| 国产精品69久久久| 中文字幕久久精品一区二区| 精品国偷自产在线视频99| 欧美a级成人淫片免费看| 中文字幕亚洲欧美日韩在线不卡| 蜜臀99久久精品久久久久小说| 色黄视频免费看| 亚洲人成电影在线播放| 亚洲天堂2024| 99电影在线观看| 极品少妇一区二区三区| 男女做暖暖视频| 艳妇乳肉豪妇荡乳av| 亚洲柠檬福利资源导航| 亚洲日本在线观看视频| 91丨国产丨九色丨pron| 国产一区日韩欧美| 欧美性xxxxxx| 在线视频你懂得一区| 啦啦啦啦免费高清视频在线观看1| 国产精品免费视频二三区| 精品欧美一区二区三区免费观看| jizzjizz欧美69巨大| 国产欧美精品一二三| 欧美成人一二区| 一级二级三级视频| av电影在线免费| 日韩精品一卡| 一色桃子在线| 九九热视频在线| 免费看h片网站| 成人v精品蜜桃久久一区| 色综合久久88色综合天天看泰| 久久久免费在线观看| 午夜欧美性电影| 天天色 色综合| 欧美视频第一| 在线观看国产精品淫| 亚洲性受xxx喷奶水| 老熟妇仑乱视频一区二区| 久久综合伊人77777| 欧美日韩国产精品一区二区三区| 五月天婷婷丁香网| 3751色影院一区二区三区| 92久久精品一区二区| 自由日本语热亚洲人| 久久久在线视频| 91一区二区三区在线| 国产福利在线视频| 91精品国产自产观看在线| 嫩草影院一区二区三区| 国产精品久久九九| 国产盗摄一区二区三区| 在线观看国产精品入口| 久久久成人影院| 亚洲最大的av网站| 国产精品欧美亚洲777777| 99久久精品99国产精品| 色偷偷偷综合中文字幕;dd| 色婷婷激情综合| 1区2区3区国产精品| h网站免费在线观看| 91社区在线播放| 国产又黄又大又粗视频| videos性欧美另类高清| 91欧美一区二区| 超碰97成人| 久久精品一区| 国产第一页在线| 日韩一区二区在线免费| 影视先锋av资源站| 美国av一区二区三区| 最新天堂资源在线| 粉嫩的18在线观看极品精品| 8x8x拔插拔插影库永久免费| 99精品视频在线| 国产精选在线观看91| 成人做爰视频网站| 疯狂撞击丝袜人妻| 一本大道伊人av久久综合| 一级香蕉视频在线观看| 精品国产av一区二区三区| 98视频在线噜噜噜国产| 亚洲七七久久综合桃花剧情介绍| 国产亚洲精品熟女国产成人| 东北少妇不带套对白| 色综合久久99| 91精品婷婷国产综合久久蝌蚪| 亚洲欧美日韩爽爽影院| 亚洲天堂男人| 久久精品视频91| aaa国产精品| 亚洲天堂中文在线| 在线观看免费黄视频| 国产欧美丝袜| 一道本无吗一区| 国产精品无码专区av在线播放| 久久久久久久久久久久久久久久av| 国产精久久久久久| 三年中文在线观看免费大全中国| 日本一区视频在线播放| 欧美成年黄网站色视频| 欧美日韩国产在线播放网站| 久久久亚洲欧洲日产国码αv| 欧美黑人极品猛少妇色xxxxx| 在线看片你懂得| 97aⅴ精品视频一二三区|