Zend Framework 中处理会话的最佳方法

2024-03-06

因此,我在 Zend 框架中启动,并希望实现站点范围的“用户”会话......我可以从应用程序中的所有模块/控制器轻松访问它。

我想,我应该在库中创建一个新的命名空间并扩展控制器,例如:

class MYCUSTOMLIB_Controller_Action extends Zend_Controller_Action
{
    protected $_userSession;

    function preDispatch(Zend_Controller_Request_Abstract $req)
    {
         $this->_userSession = new Zend_Session_Namespace('user');
    }
}

然后我所有的控制器/模块/等等都由此扩展?

或者我应该创建一个插件还是什么?您将如何制作此插件以将用户会话传递给控制器​​?

或者我在引导程序中执行它?又如何传递给控制器​​?

我还应该使用 Zend_Session_Namespace 或 Zend_Http_Cookie 以及如何加密和 xss 清理 cookie 还是自动完成?


我也会在引导程序中初始化:

//Bootstrap.php
protected function _initUserSession()
{
    return new Zend_Session_Namespace('user');
}

然后我会使用一个动作助手:

// library/App/Controller/Action/Helper/Session.php
class App_Controller_Action_Helper_Session extends Zend_Controller_Action_Helper_Abstract
{
    function direct()
    {
        return $this->getFrontController()->getParam('userSession');
    }
}

您可以像这样在控制器中访问它:

function indexAction()
{
    $session = $this->_helper->session;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend Framework 中处理会话的最佳方法 的相关文章

  • AWS S3从本地主机批量上传php错误

    我在尝试着批次 散装从本地主机 xampp 上传到我的S3 bucket 它似乎适用于大约 6 个项目 然后我收到一条错误消息 cURL 错误说Failed sending network data from http curl haxx
  • Magento:如何在 CMS 页面中包含 php 调用

    按照此页面的说明进行操作 http www magento cc how to use php on a cms page html http www magento cc how to use php on a cms page html
  • PHP 异常处理与 C#

    这是一个非常基本的问题 我希望如此 我所做的大部分异常处理都是使用 C 进行的 在 C 中 任何在 try catch 块中出错的代码都会由 catch 代码处理 例如 try int divByZero 45 0 catch Except
  • PHP 删除字符最后一个实例之前的所有内容

    有没有办法删除某个字符之前的所有内容 包括最后一个实例 我有多个字符串 其中包含 gt e g the gt cat gt sat gt on gt the gt mat welcome gt home 我需要对字符串进行格式化 以便它们变
  • Symfony 生成器形式、原则和 M:N 关系

    我有一个基本的 M N 设置 包含三个表 candidate position 和 Candidate position 这是 MySQL Workbench 的 ERD 屏幕截图 现在 我们继续讨论表单 在 symfony 生成器的默认世
  • 查明具有特定 ID 的会话是否已过期

    我正在创建一个上传功能 将用户上传的文件存储在服务器上 并以用户的会话 ID 作为名称 现在 我只想将此文件保留在服务器上 直到该会话处于活动状态 所以 我的问题是 如何根据会话 ID 确定会话是活动的还是过期的 以便在后一种情况下我可以安
  • PHP 电子邮件验证[重复]

    这个问题在这里已经有答案了 For PHP最好的电子邮件验证方法是什么preg NOT ereg因为它是已弃用 删除 I don t需要检查该网站是否存在 这不像最高安全性 我找到了很多方法ereg但它们 显然 不是好的做法 我建议你使用F
  • Laravel 读写连接不同步

    我在 Laravel 5 2 应用程序中使用读写 MySQL 连接设置 mysql gt write gt host gt env DB HOST WRITE localhost read gt host gt env DB HOST RE
  • Memcache 不会刷新或清除内存

    我一直在尝试清除我的内存缓存 因为我注意到使用时存储占用了近 30 的服务器内存ps aux 所以我运行了以下 php 代码 memcache new Memcache memcache gt connect localhost 11211
  • Apache 子进程已退出,状态为 255

    经过大量的搜索 尝试 修复 等待和哭泣 在我放弃之前 我想为这个错误抓住最后的机会 我们正在奔跑Microsoft Windows Server 2012 Apache 2 4 6 Win64 OpenSSL 1 0 1e PHP 5 5
  • 为什么 asort 适用于多维数组?

    抱歉 如果这是一个非常基本的问题 我无意中发现asort http php net manual en function asort php似乎适用于多维数组 示例 PHP animals array 1 gt array name gt
  • 彩色 var_dump() 和错误

    我怎样才能将样式设置为var dump 功能和PHP错误样式 如下图所示 目前我有下一个观点var dump with pre var dump pre 没有它将全部在一行中 并且只是纯文本的错误 我搜索了一些 PHP 颜色错误 var d
  • Yii 未检测到骆驼案例操作

    伊伊正在给我404 Error如果我声明这样的操作 站点控制器 php public function actionRegisterUser 这就是我在main php label gt Register User url gt site
  • 将客户分配到 magento 的多个客户组

    您好 我想将多个组分配给特定客户 例如 Rajat 客户 属于 批发 零售商 电力 实际上我在上面看到了同样的话题每个客户有多个客户组 https stackoverflow com questions 6153011 multiple c
  • 创建单个随机 Magento 优惠券

    我遇到了一些麻烦 我想要做的是每次有人订阅我们的时事通讯时 在 Magento 中自动生成一个随机优惠券代码 这张优惠券可减 10 美元 并且有exp 订阅后两周的日期 因此 我正在尝试编写一个简单的脚本 当提交 订阅我们的时事通讯 表单时
  • 使用 Xpath 进行部分匹配

    我正在尝试创建一个搜索功能 允许使用 Xpath 按歌曲标题或流派进行部分匹配 这是我的 XML 文件
  • sqlite3和pdo_sqlite有什么区别

    我正在将我的 Web 应用程序从 MySQL 迁移到 SQLite 数据库 我发现有两个 PHP 扩展用于与 sqlite 通信 php sqlite3 dll and php pdo sqlite dll 什么扩展比较好 或者另一个问题
  • 我如何向 Windows Server IIS 7 中的文件夹授予权限

    我是 PHP 和 Windows Server 新手 在查看我在 PHP 中创建的表单时遇到以下错误 Error in exception handler The stream or file C inetpub wwwroot wrp a
  • Mysql加密/存储敏感数据,

    我的 PHP 网站有以下内容 启用 SSL 饼干 session set cookie params cookieParams lifetime cookieParams path cookieParams domain secure ht
  • 使用 Swift 邮件程序发送邮件时出现错误 501

随机推荐

  • 纹理不绘制

    我想在屏幕上绘制图像 但我得到的是黑色方块 但上面没有纹理 图像路径正确并已加载 因为矩形具有正确的大小 我有一个单独的类用于加载名为 Texture 的纹理 还有一个用于绘制名为 Sprite 的纹理的类 这是代码 Class Textu
  • 如何向用户请求联系人访问权限,然后建立并打开联系人?

    好的 我联系了我的手机 除了两件事外 它运行得很好 首先 它第一次失败 因为它要求我访问联系人 我怎样才能使它在用户授予对联系人的访问权限后添加它 其次 有没有办法打开联系人 以便用户在建立后可以查看它 这就是我所做的 IBAction a
  • 使 Horizo​​ntalScrollView 的子级与屏幕一样大?

    我解决这个问题的方法是为子视图创建一个自定义视图 然后为自定义视图重写 onMeasure 新的 onMeasure 将宽度和高度设置为尽可能大 问题是当你显示软键盘时and旋转手机 随着方向的改变和键盘的显示 onMeasure 将 最大
  • 如何读取用户的单个字符?

    有没有一种方法可以从用户输入中读取单个字符 例如 他们在终端按下一个键 然后返回 有点像getch 我知道 Windows 中有一个功能 但我想要跨平台的功能 以下是 ActiveState Recipes 站点的链接 其中介绍了如何在 W
  • Hadoop/Hive Collect_list 不包含重复项

    根据该帖子 Hive 0 12 Collect list https stackoverflow com questions 6445339 collect set in hive keep duplicates 我试图找到 Java 代码
  • 项目在 Visual Studio 2010 解决方案中不可用

    我创建了下面的工具来使用我们的非 Microsoft 版本控制中的现有项目文件夹创建 VS2010 解决方案 当代码运行时 您告诉它您的代码位于哪个文件夹中 您的解决方案需要转到哪个文件夹 然后接受要在您选择的文件夹中创建的解决方案名称 它
  • Android - 应用程序已被拒绝,因为它主要面向儿童

    我在 Adob e Animate for Kids 中制作了一个应用程序 该应用程序第一次被接受 几天后我在我的应用程序中添加了 Admob 广告 除此之外没有任何更改 但现在我的应用程序不接受 Play 商店 并且第一个版本仍然在线 谁
  • Python 中的常见陷阱[重复]

    这个问题在这里已经有答案了 时隔多年 今天我再次被可变的默认参数所困扰 除非需要 我通常不会使用可变的默认参数 但我想随着时间的推移我忘记了这一点 今天在应用程序中 我在 PDF 生成函数的参数列表中添加了 tocElements 现在每次
  • 如何在 Android 布局文件夹中定位 1280x720 WXGA720 分辨率(如新的 Galaxy Nexus)?

    在运行 4 0 3 Ice Cream Sandwich 的 Android 模拟器上以 WXGA720 分辨率测试我的应用程序时 我的应用程序从横向视图中的 layout normal land 854x480 文件夹和纵向视图中的 la
  • 使用 Flask 和 Python 的网页中的网络摄像头

    我使用创建了一个人脸识别模型keras and tensorflow 现在我尝试使用 Flask 和 Python 将其转换为 Web 应用程序 我的要求是 我需要在网页上显示一个实时网络摄像头 通过单击按钮 它应该拍摄照片并将其保存到指定
  • 如何清除HTML数据?

    我们可以使用查询选择器来清除 CSS 样式表缓存 如下所示 每当我们更改样式表并需要浏览器清除我们的 CSS 样式表时 我们可以更改版本号 例如 1 1 1 2 等 有没有类似的东西可以清除HTML数据 我的 HTML 标记是这样的 img
  • 如何转义“#”,使其不会在 GitHub 评论中引用问题?

    相对于参考一个问题 https stackoverflow com questions 1687262 link to the issue number on github within a commit message 我只想输出文本 5
  • 驱动器号和冒号后没有斜杠的 Windows 路径 - 它指向什么?

    我输错了路径而不是c foo txt wrote c foo txt 我预计它要么会失败 要么会解决c foo txt 但它似乎解决了foo txt在当前用户的主文件夹中 Powershell 返回 PS C gt System IO Pa
  • 如何从我的本地计算机和其他区域的 EC2 实例访问我的 AWS MSK 托管 kafka 队列

    我正在 AWS MSK 上设置托管 kafka 队列 从本地计算机连接时 我似乎无法使安全性发挥作用 并且无法确定是否可以使用从一个区域到另一个区域的安全组 我已经浏览了主要文档中有关设置安全组的信息here https docs aws
  • 从 Travis 上的 Protractor 在 Sauce Labs 上运行 e2e 测试

    所以我有我的开源项目 https github com ahmednuaman radian https github com ahmednuaman radian 并且我有一些可以在本地运行良好的 e2e 测试量角器 https gith
  • 检查是否安装了 Windows 映像组件(wic 注册表)

    如何检查64位XP机器上是否安装了Windows映像组件 检查是否存在C Windows System32 WindowsCodecs dll
  • 连接 3 个字符串并返回指向新字符串 C 的指针

    我想知道是否有人可以帮助我 我正在尝试连接 3 个字符串并返回指向新字符串的指针 我似乎不知道如何使用strncat代替strcat and strncpy代替strcpy 我只学习 C 所以任何帮助将不胜感激 char concatena
  • android Google Play 警告:SSL 错误处理程序漏洞

    我在我的应用程序中使用 gorbin ASNE SDK 我最近收到一封来自 Google 的电子邮件 主题如下 Google Play 警告 SSL 错误处理程序漏洞 在这封电子邮件中 Google 解释说我的应用程序有一个 WebView
  • 在全屏模式下调整框架组件的大小

    我希望我的框架组件始终在屏幕中进行调整 无论屏幕尺寸如何 我在笔记本电脑 小屏幕 中绘制框架 当我在另一台具有大屏幕的机器 jar 文件 中运行应用程序时 框架组件不会重新调整大小 当我在任何机器上将框架置于全屏模式时 如何使框架调整其组件
  • Zend Framework 中处理会话的最佳方法

    因此 我在 Zend 框架中启动 并希望实现站点范围的 用户 会话 我可以从应用程序中的所有模块 控制器轻松访问它 我想 我应该在库中创建一个新的命名空间并扩展控制器 例如 class MYCUSTOMLIB Controller Acti