用于内联网络编程的PHP的替代品?

Min*_*ing 12 php ruby python web-applications

我一开始就用php学习了网络编程.它有一些我觉得非常有用的功能,但整体语言不是我喜欢的东西,只是个人喜好.我想知道使用不同的底层编程语言(Python?Ruby?)可以使用哪些替代方法来提供类似的功能.

我在找什么:

  • 通用编程能力
  • 嵌入HTML的内嵌服务器端代码(即我希望能够根据需要使我的文档成为纯HTML,而不是要求特殊语法,即使我不想要动态内容)
  • 访问请求参数
  • 能够发送标题,设置cookie等

较好的是:

  • 不需要单独的服务器进程
  • 易于与Apache连接

有没有人有什么建议?

我试图做的一件事是通过CGI嵌入Ruby(erb).这看起来非常适合纸张.不幸的是,我无法让它工作,因为我正在遵循一些不同的指南,结合它们的结果没有成功.无论如何,似乎这不允许我设置任意标头(更重要的是,使用会话和cookie).

注意:我目前不是在寻找完整的Web框架.在其他HTML页面中只有相对少量的动态内容.

谢谢!

Chr*_*ald 6

你已经找到了PHP如此受欢迎的重要原因 - 它拥有服务器可嵌入包中的所有部分.其易于部署的解决方案并不多; PHP是专门为你想要的而编写的,这既是它的优点也是缺点.这就是为什么它是如此弱的通用语言,以及为什么每个人和他们的狗都知道它.它无处不在,进入的障碍几乎为零.

PHP是一种语言加上模板加上一个Web框架,全部融入一个包中.为了得到一个等价物,你将需要一个Web框架,即使它是一个小框架.像Sinatra这样的东西是一种在Ruby中做类似的超轻量级方法,尽管它需要一个单独的服务器进程.

您可以使用cgi.pm查看类似Perl的内容,但如果您想要比PHP更清晰的东西,它可能是朝错误方向迈出的一步.

我不太清楚Python包在那里提供建议,但Twisted可以很容易地将Python程序绑定到Web界面.但这最终会在自己的服务器进程中运行.

如果你想使用PHP以外的东西,你需要做比标准PHP部署更多的工作,但这通常是人们认为是提高生产率的合理权衡的选择.