【问题标题】:Moving from PHP to Python从 PHP 迁移到 Python
【发布时间】:2010-01-25 08:52:03
【问题描述】:

目前我所有的基于 Web 的编程都是用 PHP 进行的,每天我都越来越渴望尝试 Python。

并不是说我没有在解释器中使用过它,但我的意思是说真的,用 Python 编写一个基于 Web 的项目,并且可能几乎完全转向 Python。

但是,我知道 Python 并不是严格意义上的基于 Web 的编程语言(真棒),这让我想知道是否有任何障碍可以跳过以在 Web 上使用它。

一个简单的例子是,我确定默认情况下 Python 中没有类似 $_POST 的变量。像这样的功能是如何进入 Python 的?

如何顺利地从 PHP 迁移到 Python?如何在网络上使用 Python?

【问题讨论】:

    标签: php python


    【解决方案1】:

    这里有一些other web frameworks供您参考。

    【讨论】:

      【解决方案2】:

      Python 与 PHP 不同,它由类似 CGI 的界面执行。此接口具有此类变量的 API。

      Django 等框架包含该 API。推荐使用这样的框架,让很多事情变得简单。

      【讨论】:

      • 我现在正在研究 Django 和其他框架,你能举个例子说明 Python 减去框架后如何使用 CGI 接口吗?
      • 接口不止一个。你有 FastCGI 和 WSGI,甚至还有 mod_python,它是一个像 php 一样的 apache 模块。
      • mod_python 像 mod_php,除了它在 httpd 中嵌入了一个解释器。 mod_python 不是通过 httpd 运行 Python 应用程序,而是使用 Python 代码扩展 httpd。区别可能看起来微不足道,但非常很重要。
      【解决方案3】:

      看看django 网络框架。

      【讨论】:

        【解决方案4】:

        Python 中存在许多web frameworks,例如 Django、werkzeug 等。如果您想“更接近金属”,请查看WSGI

        【讨论】:

          【解决方案5】:

          PHP 没有任何问题,只是它不是 Python。 所以它不是 Pythonic!

          如果你经常不得不在 Python 世界和 PHP 世界之间穿梭 (WordPress、Drupal 或其他 PHP 框架),你可以感受到我的痛苦 无法轻松使用大量原生 Python 库, 比如SQLAlchemy,机器学习, TensorFlow等深度学习。

          WordPress 等 PHP 框架确实提供 xml-rpc、wp-api、wp-cli、 和其他 API 与 Python 和其他语言交互。 但是,为此类 API 准备 Python 程序并让 PHP 与另一端 API 的接口容易出错,不健壮, API 客户端和 Web 服务器在 CPU 和内存方面的成本很高 为了API的打包、传输和解包, 很难在 API 的两端进行故障排除,并且不可扩展。 因此,企业、Web 或大数据应用程序不能依赖这些 API 适用于高速和大容量的 Web 应用程序和大规模数据集。

          pyx.php 来拯救 PHP 到 Python 的程序员了! (这是我写的。)

          为什么要从 PHP 转换为 Python?

          如果你问这个问题,你可能不应该使用pyx.php

          pyx.php 是一个 Cython 编译模块,可用于转换或 将 99% 最常见的 PHP 源代码翻译成纯 Python。 换句话说,它是 Cython 中的 PHP-to-Python 语法模拟库。

          转换后的 Python 代码只需要 Python 3.x 解释器, pyx 存储库中的模块,以及一些标准 Python 库。 根本不需要 PHP 解释器。

          如果我们已经翻译了大部分 WordPress 核心和其他 使用pyx.php从PHP到Python的脚本,几乎可以转换 将任何 PHP 代码转换为 Python。

          以编译 Cython 的速度,运行 PHP 翻译的 Python 代码 使用 pyx.php 可能比运行原始 PHP 代码更快 同一台电脑。

          安装

          从您的浏览器或 Linux shell 下载:

          $ wget https://wordpy.com/pyx/pyx.tgz
          $ tar xvfpz pyx.tgz
          

          或者,您可以:

          $ git clone https://github.com/wordpy/pyx/
          

          目前,pyx.php 仅适用于运行 64 位 Linux 的 Python 3.x。 Python 2.x, Mac, 或者其他平台多的时候可以编译 请求。

          快速入门

          $ python # or ipython

          >>> import pyx.php as Php; array = Php.array
          >>> arr1 = array( (0,'1-0'),('a','1-a'),('b','1-b'),)
          >>> arr2 = array( (0,'2-0'),(  1,'2-1'),('b','2-b'),('c','2-c'),)
          >>> arr1 + arr2   # same as: Php.array_plus(arr1, arr2), see below
          >>> Php.array_merge(arr1, arr2)
          

          更多内容请见https://wordpy.com/pyx/php/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-04-26
            • 2019-09-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-11-04
            相关资源
            最近更新 更多