许多人在纠结WEB快速开发究竟是采用PHP,还是采用Python,二者同样是脚本语言,但特点鲜明:

PHP: Web专用开发利器,有10多年的经验积累,但其他领域基本不涉及,扩展性不强,企业应用少。

Python: 近期的明星语言,面向对象、简单高效、可扩展性强,但Web开发积累少,成熟度低。

ppython 开源项目既是结合使用PHP和Python两种语言,取其所长、补其所短,面向企业WEB领域的开发技术。此技术可以理解为PHP和Python相结合的 技术,也可称为PHP和Python混合编程技术,或者PHP调用Python服务的技术,也有人习惯称之为前台PHP后台Python的技术框架。

本项目是LAJP项目的语言环境的拓展,变化是将LAJP中的Java语言变更为Python语言,因此LAJP的技术、文档对本项目有参考作用。LAJP的官方网页:

http://code.google.com/p/lajp

特点

优势互补: PHP和Python都是流行的脚本语言,PHP非常适合网页编程;而Python可以当作轻量级JAVA,二者结合可发挥各自优势。

高效稳定:Apache+PHP组合可带来优异的WEB服务稳定性,而Python的语言能力可补充如连接池、事物管理、分布式、对象模型等高端特性。

通信机制 PHP和Python间的通讯方式采用TCP Socket和Unix Socket两种机制,兼顾通讯效率和分布式。

数据类型自动转换机制 PHP数据和Python数据可准确地自动匹配和转换,无须程序员编写解析代码。

易用:安装配置简单,PHP端和Python端编程符合各自的编程习惯。

轻量级:架构非常轻量级,除了最基本的PHP和Python环境,不需要任何扩充的、第三方的组件、容器。

PHP和Python的互通

PHP和Python是两种不同的语言,通讯中采用两种socket机制。

一、TCP Socket

传统的TCP/IP通讯。

二、UNIX Domain Socket

Unix/Linux本地socket,相对于TCP Socket,有以下特点:

只能在同一台主机中通讯(IPC),不能跨网络

传输速度,大于TCP Socket

服务端只向本机提供服务(没有对外侦听端口),相对安全,易于管理。

数据类型转换

PHP和Python各有其语言内部定义的数据类型,当PHP数据传送到Python,或Python数据传送到PHP时,传统上需要转码处理,而使用本技术程序员无需进行任何的此类工作。

提高Python的多线程效率

Python因其语言GIL特性,多线程效率不高。在PHP+Python的混搭机制中,Python端可以多进程方式部署,从而提高Python的整体工作效率。

示例

示例程序表现了一个简单的PHP页面调用Python的加法函数程序片段。

php端程序

Python端程序,文件名testModule.py

# -*- coding: UTF-8 -*- defadd(a,b): returna+b

python与php结合开发_PHP结合Python的WEB开发技术相关推荐

  1. 零基础学java web开发pdf_新手学Java Web开发.pdf

    作 者 :杨磊等编著 出版发行 : 北京:北京希望电子出版社 , 2010.01 ISBN号 :978-7-89498-988-8 页 数 : 480 丛书名 : 新手学编程系列 原书定价 : 49. ...

  2. python bottle框架 运维_python bottle框架(WEB开发、运维开发)教程 | linux系统运维...

    教程目录 一:python基础 二:bottle基础 python bottle 框架基础教程:环境部署 三:WEB开发教程 四:运维开发教程 运维开发(1.1):框架.结构介绍 运维开发(1.2): ...

  3. python web开发要学什么_Python WEB开发 用Python开展web开发必须学习什么?

    用Python开展web开发必须学习哪些? 针对新手想更轻轻松松的学好Python开发技术性,Python网络爬虫,Python数据分析,人工智能技术等技术性,这儿给大伙儿共享一套系统软件教育资源,加 ...

  4. python与php性能比较_PHP和Python性能比较:放弃PHP改用Python

    本文作者作为一名从事PHP开发11年的资深开发者,却放弃了PHP而改用Python.借助本文,作者与其说是解释了他做出这种选择的原因,不如说是他对 PHP和Python两种语言的性能进行了比较.以下是 ...

  5. java web开发初学_2018年学习Web开发的绝对初学者指南

    java web开发初学 This post was originally published on Coder-Coder.com. 该帖子最初发布在Coder-Coder.com上 . If yo ...

  6. web前端开发论文写作_2019学习Web开发指南

    这是一个2019年你成为前端,后端或全栈开发者的进阶指南: 你不需要学习所有的技术成为一个web开发者 这个指南只是通过简单分类列出了技术选项 我将从我的经验和参考中给出建议 1.基础前端开发者 1. ...

  7. web开发指南_成为专业Web开发人员的实用指南

    web开发指南 This article is meant to serve as a practical guide to becoming a professional web developer ...

  8. web开发方法_确保进入Web开发的最快方法

    web开发方法 做很多项目. (Do lots of projects.) I'm not kidding, it's really that simple. If you've internaliz ...

  9. 零基础学java web开发 pdf_从零开始学Java Web开发 PDF 扫描版[69M]

    java web是目前最流行的动态网页开发技术之一.本书由浅入深.循序渐进,使零基础的读者能够熟练掌握如何使用java web开发应用程序系统. 本书分为4部分,第一部分是java语言基础篇,包括ja ...

最新文章

  1. 快排递归非递归python_Python递归神经网络终极指南
  2. Linux内存管理原理【转】
  3. 记事本写python怎么运行-利用Python开发实现简单的记事本
  4. webservice服务器端获取request对象的三种方式
  5. 访问远程mysql数据库
  6. 为什么要用枚举实现单例模式(避免反射、序列化问题)
  7. Qt工作笔记-对主事件循环的进一步认识
  8. Vue学习笔记:使用CLI构建Vue项目
  9. QT_Qsplitter
  10. 互联网始于 50 年前的 3420 室
  11. android自定义滤镜,让IjkPlayer支持插入自定义的GPU滤镜方法
  12. py樱花代码_武汉大学生用代码敲出樱花绽放,这个开源项目也很酷炫
  13. 【编程题】省份城市的三级联动
  14. turbo码书籍推荐
  15. H264数据格式解析
  16. 全国省市县json数据
  17. 截止失真放大电路_【电子干货377】晶体三极管的一些常见应用电路
  18. go老鸟也会经常出现 并发channal问题引起的协程泄漏
  19. 检索器与阅读器:开放域问答的综述 Retrieving and Reading: A Comprehensive Survey on Open-domain Question Answering
  20. 神经网络的数学表达式,神经网络的数学基础

热门文章

  1. 手机APP软件制作平台搭建(基于windows)
  2. Java 添加、删除、移动、隐藏/显示Excel工作表
  3. 【开源访谈】AVPlayer 作者王功铭访谈实录
  4. C语言项目—学生成绩管理系统(完结)
  5. 上传图片的时候,ios手机的图片会旋转90°
  6. 视频教程-Unity客户端框架设计PureMVC篇视频课程(上)-Unity3D
  7. x265探索与研究(五):如何用VS调试x265?
  8. Python实战项目:39行代码打造数字战舰游戏
  9. vue中的@input事件
  10. 原生js触发oninput事件