php 进阶_PHP 进阶

14

2016-05-13 13:46:51 +08:00

我最近在思考的,因为想要试着总结一个快速理解其它语言做 web 开发的思路,整理了一下做 web 开发可能会涉及到几个模块的东西。

如果这些功能都可以自己用代码实现一遍,应该就可以完成一个简单的 web 框架了。退而求其次就是能够看懂实现这些功能的代码,那也应该可以改一个 web 框架了,再次一点就是能够看懂这些功能的接口文档,那也足够用一个 web 框架开发了。

route

路由 url 到对应类或文件的机制

global

全局变量,用于保存运行中必须的公共参数,例如数据库连接参数和状态,各种 web 系统配置参数

evernt driver

事件驱动模型,用于根据请求处理的状态调度任务。常见于非阻塞 web 框架。

hook

处理请求生命周期的过程自动调用的唤醒处理函数,例如请求处理前、请求完成后

signal

通知消息,用于在处理某个业务的时候发出消息和参数,由接收方决定如何处理消息。

import/call

引入通用函数,或调用某个子类函数

session/cookie

用于缓存用户态数据,做客户端数据隔离和权限审查。 session 可选择内存数据库或文件形式读写, cookie 需要了解 set_cookie/get_cookie 的操作和 http 编码

header

http 请求处理的协议头,读写 header 字段,可能会用来传递公共参数, restfull 的 web 服务会用到。

upload/file

接收用户上传文件,需要处理文件类型,保存文件路径等内存数据与文件系统的交互

get/post/put/delete

http 几种请求形式,接收不同请求形式的参数和数据。

template

渲染返回页面模板,用于将不同参数渲染到模板中返回给浏览器

parse

解析各种正则匹配规则,用于提取数据

message queue

消息队列机制,用于处理系统内异步处理的业务消息通知,需要完成收发消息、存储、调用指定函数功能,基于 signal 、 import/call 完成的功能

extent

扩展,安装其它扩展功能或者其它应用的协议扩展。

connect to other server

连接其它服务,例如借助 extent 扩展协议支持,连接 mysql 、 memcache 、 mongodb 、 redis 等独立应用开放的服务。

task pool

任务进程管理池,用于创建连接池便于加强与外部请求的通信效率,常见有数据库连接池,或者配合 message queue 实现的任务管理池。

httpclient/TCPClient/UDPClient

发送 http 请求所需功能,通常集成 curl 向外部 http 服务发送请求的处理,或者通过其它扩展与其它服务器进行 tcp/udp 协议的通信。

convert image

用于解析或生成图片数据。常用于生成验证码、打水印等基础图片处理功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值