客户要求做一个网站,用 php 开发,但是要求 php 连接数据的部分全部用 python 封装一层。
就是用 python 连接数据库,然后把不同的 sql 语句全部写成不同的文件或者函数,然后 php 后天执行 python 脚本获取返回的数据内容。
说是为了提高可移植性。
我想了几天没太想明白这跟移植性有什么关系, php 是跨平台的语言啊。
还是说这么做有什么其他优势?有人这么做过吗?
小弟没怎么做过网站,经验较少所以来请教下大家。
1
wobuhuicode 2016-09-05 10:10:09 +08:00
估计对接的人就会 python
|
2
isno 2016-09-05 10:10:39 +08:00
基本没见过这种做法,优势想不出来
|
3
sylecn 2016-09-05 10:15:31 +08:00 via Android
没什么优势。只增加了访问数据库的开销。
|
4
aeshfawre 2016-09-05 10:24:32 +08:00
不明白他说的可移植性,那就去问他撒。
估计人家有自己的想法,想法背后有个动机的,他肯定是有个目的,你弄清楚之后,你有更好的方案就可以向他说的。 |
5
zhangfan 2016-09-05 10:33:46 +08:00
估计为了代码安全。
像这样的需求,楼主建议一下客户,做成 API 接口这样就可以了。 |
6
leisurelylicht OP @wobuhuicode 不是,没人会 python , python 部分都是我做的, python 部分主要是要做一些科学计算,然后他就让我把数据库也封装了。
@zhangfan api 的接口的话是不是 Python 也需要做一个网站后台? @aeshfawre 详细问了,说是为了保证如果以后不用 php 的话可以快速替换成别的语言做后台。 |
7
zhangfan 2016-09-05 11:12:36 +08:00
@leisurelylicht 不需要后台,但是要详尽的说明文档。
|
8
ppwangs 2016-09-05 11:20:42 +08:00
他的可移植性意思是万一搞 PHP 这个人不搞了,将来换 JAVA NODE 都可以搞吧
给他推荐 restful 吧…… |
9
wyntergreg 2016-09-05 12:29:19 +08:00
详细问了,说是为了保证如果以后不用 php 的话可以快速替换成别的语言做后台。
你用 php 给他封一层也一样啊,没必要用 python |
10
HypoChen 2016-09-05 12:48:19 +08:00
用 python 写一个提供 restful api 的微服务 Server ,然后前面的程序调用 Server 的 api
|
11
leisurelylicht OP |
12
zhangfan 2016-09-05 13:58:33 +08:00
|
13
sudoz 2016-09-05 13:59:49 +08:00
我想知道为什么还要用 Python 封一层?
|
14
9hills 2016-09-05 14:02:27 +08:00
可移植性应该不是用脚本封装一层,而是用 API 封装一层
不过这个也仅限于一些数据驱动起来比较麻烦的情况(比如某种特殊的数据库只有某个语言的 SDK 、数据源有比较严格的访问频率等限制),成熟的数据库没必要 |
15
silov 2016-09-05 14:09:00 +08:00
那还用 PHP 干嘛。。。都用 python 做呗。。。
|
16
990510254 2016-09-05 14:55:43 +08:00
@leisurelylicht 你的服务器用的哪里的呢?
|
17
justfindu 2016-09-05 14:58:37 +08:00
他只是想用 php 当做一个前端解析而已 哈哈~ 哭
|
18
leisurelylicht OP |
19
leisurelylicht OP @990510254 ?本地的。
|
20
jimzhong 2016-09-06 10:54:25 +08:00
SQL 是有标准的,可以跨平台。为什么还要用 Python 包?
网站数据库为什么用 sqlite ? |
21
bk201 2016-09-06 13:11:14 +08:00 via iPhone
很明显是要换掉做 php 的.用 python ,目的是防止 sql 被写进 php 难以分离吧,而且 python 环境搭建会比 php 方便吧.
|