gpt4 book ai didi

php - 关于编写 Perl 使其像 PHP 一样工作的建议

转载 作者:行者123 更新时间:2023-12-04 13:42:15 24 4
gpt4 key购买 nike

我首先是一名 perl 编码员,但与许多人一样,我也使用 PHP 编写客户端代码,尤其是网络应用程序。

我发现我用这两种语言重复了很多项目,但使用了不同的范例(例如,用于处理 cgi 输入和 session 数据)或函数。

我想做的是开始以一种结构更像 PHP 的方式编写我的 Perl,这样我a) 在我的脑海中保留一个范式b) 可以更快地将脚本从一个移植到另一个

具体来说,我想问的是人们是否可以建议您如何在 perl 中执行以下操作?

1) 重现$_SESSION$_GET等的功能。例如通过包装 CGI.pmparam() 方法,一个 session 库?

2) 类似于PHP的模板库我习惯于在 PHP 约定中混合我的代码和 HTML。例如

<h1>HTML Code here</h1>
<?
print "Hello World\b";
?>

谁能告诉我哪个 perl 模板引擎(以及可能的配置)允许我进行类似的编码?

3)PHP函数库有人知道一个用于 perl 的库可以重现很多 php 内置函数吗?

最佳答案

看看EmbPerl .

这是一个基于 Perl 的模板系统,它似乎提供了 PHP 所做的一切,这是基于我对 PHP 的无可否认的了解。

要涵盖您的具体要点:

  • $_GET : EmbPerl 提供 %fdat包含通过 POST 或 GET 传递的全套表单数据的哈希

    %fdat 不区分值是来自 GET 的查询字符串还是来自 POST 的表单字段。

    如果您绝对必须只有来自 GET 的 QUERY_STRING 的值,这里有一个获取它的函数的简单示例:http://urlgreyhot.com/personal/resources/embperl_getting_values_query_string - 虽然我现在不知道为什么要将 GET 数据与 POST 数据分开。

  • $_SESSION :我不是 100% 明白这在 PHP 中的作用,但如果我是对的,每个用户都有 %udat data 和 %mdat 用于处理 session 内容的每个模块/页面数据。

    在 EmbPerl 文档的“Session Handling”区域以及 EmbPerl 中的所有其他大量 session 支持中更详细地描述了两者的使用

    这是一个快速的 %udat 简介:

    ...只要您向 %udat 写入任何内容,Embperl 就会创建一个 session ID 并通过 cookie 将其发送到浏览器。您写入 %udat 的数据由 Apache::Session 存储。下次同一用户请求 Embperl 页面时,浏览器发回带有 session ID 的 cookie,Embperl 使用您为该用户存储的相同值填充来自 Apache::Session 的 %udat 散列。

  • 您包含的模板代码在 EmbPerl 中看起来像这样:

       <h1>HTML Code here</h1>   [-    print OUT "Hello World!";   -]

    或者对于更惯用/正确的解决方案,

       <h1>HTML Code here</h1>   [+ "Hello World!" +]

    附言我不知道“\b”在 PHP 中做了什么,所以我没有克隆它。

    Embperl 支持所有标准模板内容([- -] 用于执行,[++] 用于包含任意 Perl 代码的结果,模板流控制命令( [$ if $]/'[$ for $]` 等等...) 等等。它还与 mod_perl 完全兼容。

关于php - 关于编写 Perl 使其像 PHP 一样工作的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2987192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com