关于网站架构的疑问?

2016-09-05 09:55:50 +08:00
 leisurelylicht

客户要求做一个网站,用 php 开发,但是要求 php 连接数据的部分全部用 python 封装一层。

就是用 python 连接数据库,然后把不同的 sql 语句全部写成不同的文件或者函数,然后 php 后天执行 python 脚本获取返回的数据内容。

说是为了提高可移植性。

我想了几天没太想明白这跟移植性有什么关系, php 是跨平台的语言啊。

还是说这么做有什么其他优势?有人这么做过吗?

小弟没怎么做过网站,经验较少所以来请教下大家。

3777 次点击
所在节点    程序员
21 条回复
wobuhuicode
2016-09-05 10:10:09 +08:00
估计对接的人就会 python
isno
2016-09-05 10:10:39 +08:00
基本没见过这种做法,优势想不出来
sylecn
2016-09-05 10:15:31 +08:00
没什么优势。只增加了访问数据库的开销。
aeshfawre
2016-09-05 10:24:32 +08:00
不明白他说的可移植性,那就去问他撒。
估计人家有自己的想法,想法背后有个动机的,他肯定是有个目的,你弄清楚之后,你有更好的方案就可以向他说的。
zhangfan
2016-09-05 10:33:46 +08:00
估计为了代码安全。

像这样的需求,楼主建议一下客户,做成 API 接口这样就可以了。
leisurelylicht
2016-09-05 11:10:50 +08:00
@wobuhuicode 不是,没人会 python , python 部分都是我做的, python 部分主要是要做一些科学计算,然后他就让我把数据库也封装了。
@zhangfan api 的接口的话是不是 Python 也需要做一个网站后台?

@aeshfawre 详细问了,说是为了保证如果以后不用 php 的话可以快速替换成别的语言做后台。
zhangfan
2016-09-05 11:12:36 +08:00
@leisurelylicht 不需要后台,但是要详尽的说明文档。
ppwangs
2016-09-05 11:20:42 +08:00
他的可移植性意思是万一搞 PHP 这个人不搞了,将来换 JAVA NODE 都可以搞吧

给他推荐 restful 吧……
wyntergreg
2016-09-05 12:29:19 +08:00
详细问了,说是为了保证如果以后不用 php 的话可以快速替换成别的语言做后台。
你用 php 给他封一层也一样啊,没必要用 python
HypoChen
2016-09-05 12:48:19 +08:00
用 python 写一个提供 restful api 的微服务 Server ,然后前面的程序调用 Server 的 api
leisurelylicht
2016-09-05 13:49:13 +08:00
@ppwangs @wyntergreg 他们是想随时把 php 换掉,做 php 的同事听到表示哔了狗了。

@zhangfan 请问你会用什么做这种 api 的接口?学习下。
zhangfan
2016-09-05 13:58:33 +08:00
@leisurelylicht 我不会写程序,我只是个产品经理。

你楼上两位不是提供解决思路了吗
sudoz
2016-09-05 13:59:49 +08:00
我想知道为什么还要用 Python 封一层?
9hills
2016-09-05 14:02:27 +08:00
可移植性应该不是用脚本封装一层,而是用 API 封装一层

不过这个也仅限于一些数据驱动起来比较麻烦的情况(比如某种特殊的数据库只有某个语言的 SDK 、数据源有比较严格的访问频率等限制),成熟的数据库没必要
silov
2016-09-05 14:09:00 +08:00
那还用 PHP 干嘛。。。都用 python 做呗。。。
990510254
2016-09-05 14:55:43 +08:00
@leisurelylicht 你的服务器用的哪里的呢?
justfindu
2016-09-05 14:58:37 +08:00
他只是想用 php 当做一个前端解析而已 哈哈~ 哭
leisurelylicht
2016-09-05 15:39:06 +08:00
@9hills 数据库使用的是 sqlite

@silov 我也是这么想的,可能是因为 python 招不到足够的人,毕竟西安做 python 的很少。

@sudoz 我也想知道
leisurelylicht
2016-09-05 15:40:20 +08:00
@990510254 ?本地的。
jimzhong
2016-09-06 10:54:25 +08:00
SQL 是有标准的,可以跨平台。为什么还要用 Python 包?
网站数据库为什么用 sqlite ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/303938

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX