免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2379 | 回复: 4
打印 上一主题 下一主题

关于纯c实现php及网站的一些看法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-21 11:13 |只看该作者 |倒序浏览
追求高性能的话,可以用纯c实现网站,即用c写一个php扩展,通过这个扩展实现一个 php函数。

当然,也可以写成 nginx 或者 apache 模块,不过,这样的话,就依赖于某一种 web 服务器了。

思路:
1. 通过 apache 或 nginx 的 rewrite 方式,把路径,重写为 /控制器/方法名 模式。

2. 在 php扩展中, 读取到 控制器和方法名,以控制器为目录,方法名表示一个 c 源文件,实现面向文件/模块编程。

3. 将可能会用到的全站 route 写到一个 文件文件里,或者直接写到一个 h 文件里,通过 方法名,来调用相应的文件里对应的函数,如 /pages/index 则调用 /controllers/pages 目录下 index.c 文件里的 pages_index方法。

4. 通过模板 如 ctemplate,先判断是否有缓存,如果没有缓存,则利用模板,生成缓存。

5.返回给浏览器,利用 php_printf() ..

目录结构大致如下:

php源代码/ext/扩展名/
    controllers
    models
    include
    libs

网站根目录
    rewrite.conf/.htaccess
    templates
    css
    images
    js
    files

以上。

论坛徽章:
0
2 [报告]
发表于 2014-10-21 16:52 |只看该作者
都用c写了,为什么还要写 php 扩展,nginx扩展不是更快?

论坛徽章:
0
3 [报告]
发表于 2014-10-21 18:53 |只看该作者
回复 2# bs


    你说的对。确实,是我考虑不足,应该用 nginx 模板来实现。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2014-10-22 16:51 |只看该作者
有这样的框架,我知道的至少有两个。

论坛徽章:
0
5 [报告]
发表于 2014-10-22 17:23 |只看该作者
回复 4# 昭襄王


    哪两个? yaf ? ph ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP