- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用标准 PHP 构建的 Web 应用程序。我正在通过使用 Symfony2 构建子应用程序(针对网站的管理员/所有者)来学习 Symfony。到目前为止一切顺利..
我的 symfony 应用程序确实从“父”应用程序调用了一些初始化代码,并且该初始化代码设置了该子应用程序可能想要也可能不想使用的一些(遗留) session 变量。
但我在 Symfony 文档中注意到他们建议避免使用旧版 PHP session 。 http://symfony.com/doc/current/components/http_foundation/sessions.html http://symfony.com/doc/current/components/http_foundation/session_php_bridge.html
他们为什么提出这个建议?
这仅仅是因为 Symfony session 管理“更好”吗(并且使用遗留的 SESSION 超全局在某种程度上是一种反模式)——或者,是否存在任何其他特定的不兼容或问题可能导致我的“父”应用程序中的代码正在使用旧 session 这一事实?或者其他/额外的原因?
最佳答案
实际上在 http://symfony.com/doc/current/components/http_foundation/session_php_bridge.html 上对此进行了解释,但不是那么明显:
SF2 也使用了 $_SESSION,但它将功能“封装”在 session
服务中。您不必担心 session_start
以及所有这些 - 只需正确配置它,然后通过服务访问它即可。
文档提到了存储 session 数据的“包”。这些“包”是具有 SF 特定结构的数据容器。如果旧服务完全控制 $_SESSION
,则可能会损坏这些结构。另一方面,遗留服务可能会创建 SF2 不知道的结构,并且可能会损坏。
例如,这是 Symfony2 中 print_r(array_keys($_SESSION));
的结果:
Array
(
[0] => _sf2_attributes
[1] => _sf2_flashes
[2] => _sf2_meta
)
总的来说,我不会说 SF 的 session 处理更好或更差 - 作为一个框架,它只是为 session 管理的常见问题提供了实现。
最多,它可以被认为优于“天真的”实现,特别是对于(抱歉:)“PHP 新手”来说,他们不了解 session 处理的所有含义。
由于 session 的性质(尤其是 PHP 中的 $_SESSION
超全局变量),您无法 100% 避免与遗留代码发生冲突,这就是为什么他们指出这一点并提出解决方案处理此类问题。
关于php - 为什么 Symfony2 建议避免使用 'legacy' php session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25826672/
我正在实现 Android Room Database,在其中一个教程中我发现了 androidx.legacy:legacy-support-v4:1.0.0 的用法依赖。谁能告诉我使用这种依赖关系
我收到来自某些旧代码的 SOAP 请求,并使用 JAX-WS 生成的对象来处理该请求,该对象来自旧代码使用的同一 WSDL,但在处理该请求时收到 Unmarshalling Error:unmarsh
我遇到了很多错误,比如 /usr/local/include/opencv2/legacy/legacy.hpp:2994:12: error: 'CvSubdiv2DEdge' does not n
在更新 Flutter 和一些软件包后,我一直得到 Failed to resolve: androidx.legacy:legacy-support-v4:27.0.1 error 我已将我的项目迁
任何有用的指标都可以 最佳答案 我在代码中寻找的一件事是单元测试。这将提供重构它的自由。所以如果代码没有测试,我认为它是遗留代码。 关于legacy - 你什么时候说代码是遗留代码?,我们在Stack
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 2年前关闭。 Improve this questi
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
有没有人有将FxCop引入遗留代码的经验?如果有人引入违反规则的代码,我们希望构建失败。但是暂时而言,这是不可能的,因为遗留代码有9000多次违规。 抑制错误的唯一方法是通过SuppressMessa
我听说许多开发人员将代码称为“遗留”。大多数时候,它是由不再参与该项目的人编写的代码。是什么构成了代码、遗留代码? 更新响应:“从祖先、前辈或过去传下来的东西”http://www.thefreedi
我们在工作中遇到过这样的情况:在遗留(核心)系统上工作的开发人员在向已被意大利面条式代码感染的现有代码中添加新功能时,被迫使用 GOTO 语句。 现在,我知道使用“只使用一个小 GOTO”而不是花时间
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
多年来,我听到很多关于我们开发人员必须使用的继承项目的提示。 WTF网站上有无数的示例代码,这些代码使我实际上喃喃自语“WTF?”。 但是,实际上没有向您提供使您离开的代码吗,“这真是深思熟虑!”或“
好吧,在我工作的地方,在过去的几十年中,我们维护了相当数量的系统。 该系统的多样性在于,可以使用多种操作系统(Linux,Solaris,Windows),多种数据库(oracle,sybase和my
我们是一个研究遗留代码的团队,这些代码非常古老,并且是用最初的编程语言编写的。由于团队成员接受了最新技术的培训,并且现在开始处理遗留代码,他们并不满意。如何激励他们也使用遗留代码? 最佳答案 只有现金
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 5年前关闭。 Improve this
我知道它是在 IBM 360 大型机架构上实现的,但有谁知 Prop 体使用了什么语言?据说其中大部分是在 3-4 个月内编程和部署的——对于任何项目来说,这都是一个相当快的周转,更不用说有能力监控整
我正在考虑在 Azure 上运行我们的一些业务。 我正在尝试选择最适合我公司的服务,但我收到的信号很复杂。 因为我正在启动一个新系统,所以我想选择非“旧版”(也称为“当前”)的产品。但似乎没有直接的方
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: What makes code legacy? “遗留代码”的定义是什么? 最佳答案 引导 Michael Feat
我正在制作一个应用程序,为客户提供大致的贷款报价(稍后由其他后台系统计算)。我从我们为其制作计算器的金融公司收到了一些代码。我的问题是我不理解计算年百分比率(包括启动费和月费)的代码部分。 他们可能正
我正在尝试关注 this教程并遇到 Node.js 安装问题。在 Debian VM 上安装,并在 nodejs 站点上运行建议的安装命令: curl -sL https://deb.nodesour
我是一名优秀的程序员,十分优秀!