【问题标题】:perl equivalent of PHP's $_SESSIONperl 相当于 PHP 的 $_SESSION
【发布时间】:2016-08-12 07:11:07
【问题描述】:

php 是一个不错的实验,但语言似乎较差。所以,我正在考虑将我的普通代码库从 php 转换为 perl。

然而,一些 php 方面值得保留——如果只是为了使代码翻译更容易。最重要的是$_SERVER$_POST$_GET,尤其是$_SESSION

start_session() 然后$_SESSION 散列(咳咳,关联数组)具有立即可分配性。 perl6 的 CGI::Session 具有很多功能,但语法不同。我假设 CGI::Session 仍然是最常见且无故障的模块。我想我需要类似的东西

our $_SESSION;
## iterate over the session; docs don't say how; maybe
foreach ($session->param) {  $_SESSION[$_]= session->param($_); }
## and now trap all deaths to call save_param

或者也许是 Tie 功能?或者这可能已经作为 CGI::Session 以外的模块存在?!

建议表示赞赏。

/iaw

【问题讨论】:

  • 虽然我向您的勇敢致敬,但请尽量避免重新发明轮子。 MojoliciousCatalyst 等框架已经实现并准备就绪。编写自己的框架可能具有教育意义,但结果通常无法使用,因为在公共互联网上运行未经测试、不受信任的代码是多么冒险。
  • 是的,主要工作。对于每年只在小型项目中使用一次的偶尔用户(如我)不适用。要学习和记住的东西太多了。在这种情况下,更简约的结构会更好。
  • 我不得不注意到,一些新手程序员会被简单的开始所吸引(哎呀)。框架要求是一个早期的障碍。除了在没有框架的情况下更容易进入之外,我认为没有 php 比 perl 有任何优势。
  • “学不完”就是你的重点。通过对框架的半理解,您可以完成很多工作,它会为您提供支持。如果您只对语言了解一半并且根据第一原理进行编程,那么您将把事情搞得一团糟。我从来没有见过结果很好。
  • 框架的另一个问题是 perl 没有一个,而是很多。所以,我需要碰巧知道具体框架的同行。这几乎就像选择一种语言。 perl 是一个我可以期待许多其他人知道的标准。 php 是网络上使用最广泛的语言——并不是因为它好。它可供每 2 年编写一次 500 行 Web 应用程序并在其余时间从事其他事情的人使用。

标签: php perl


【解决方案1】:

网站上使用的 PHP 是一种语言,也是一种 Web 框架,尽管它非常简单。因此,如果您选择 perl,您还需要选择 perl Web 库/框架。我个人会推荐http://mojolicious.org/,但是您会看到很多使用CGI.pm 的旧代码,这在当时很棒,但现在看起来非常低级。

这里是alternatives to CGI.pm 的简短摘要。

【讨论】:

  • mojolicious 很棒,但学习曲线很高,底层代码库仍在变化。模拟 $_SESSION 是一个非常低级的替代品,至少对于较小的项目来说是有用的。
  • 你真的不想在 2016 年使用 CGI.pm。那是一个需求明显简单且人们没有那么想造成伤害的时代。
  • 正如我所说,我现在不建议新代码使用 CGI.pm 模块,因为与 Mojo 等相比,它的级别太低了,但 CGI.pm 可能相当安全,我'会比这些新的框架更安全。看看这些年来它有多少安全修复
  • 假设我只想请求并记录用户的电子邮件,将其存储在计算机上的文件中,并显示在页面顶部。你真的会使用完整的框架吗?稍微提高复杂性。说一种形式。现在是一个框架?有一个权衡。在一些足够简单的点上,框架可能不是正确的解决方案。
  • 看看我添加的链接,它使用 CGI,pm(可能你的意思是不使用框架?)与 alertnatives 进行比较
猜你喜欢
  • 2015-05-20
  • 2011-03-25
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 2011-04-01
  • 2018-11-16
  • 1970-01-01
相关资源
最近更新 更多