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

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

php 进阶_PHP 进阶相关推荐

  1. php 命名空间通俗易懂_PHP进阶由浅入深掌握面向对象开发

    视频教程出自黑马程序员PHP基础_由浅入深掌握面向对象开发 [讲解方式] 系统梳理和分解知识,各个点逐步讲解,由浅入深,通俗易懂,层层深入 [课程亮点] 1,已经完成PHP基础知识学习的朋友有帮助 2 ...

  2. php 定位_PHP进阶学习之Geo的地图定位算法详解

    本文实例讲述了PHP进阶学习之Geo的地图定位算法.分享给大家供大家参考,具体如下: 前言 日常开发中我们经常需要查找某个物体的定位,或者查找附近的范围等,我们自然而然会想到的方法就是利用各种提供服务 ...

  3. jsp获取连接池的实时连接数_PHP进阶教程-实现一个简单的MySQL连接池

    ​什么是连接池? 顾名思义,连接池就是一堆预先创建好的连接,跟容器会有点像.连接池主要是在某种需要网络连接的服务,提前把连接建立好存起来,然后存放在一个池子里面,需要用到的时候取出来用,用完之后再还回 ...

  4. 汉诺塔递归算法进阶_进阶python 1递归

    汉诺塔递归算法进阶 When something is specified in terms of itself, it is called recursion. The recursion give ...

  5. c++ 项不会计算为接受 0 个参数的函数_OFFSET函数从入门到进阶之进阶操作篇(与MATCH组合)...

    了解了OFFSET函数的参数和基本用法,我们就开始进行进阶操作了.在基本用法中,发现各个参数都是我们单个输入,实际工作中,OFFSET函数通常用在区域数据的引用,这就会牵涉到通过拖动进行填充,那里面的 ...

  6. mysql select 进阶_MySQL进阶_SELECT篇(一)

    MySQL中SELECT语句的基本语法是: SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY] [DI ...

  7. python选股票进阶_Python进阶量化交易专栏场外篇27-股票数据的除权和复权

    欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 在行 ...

  8. java语言程序设计视频_[VIP视频]【A0152】Java语言程序设计进阶高级进阶视频教程 网易云课堂 百度网盘 云盘...

    Java语言程序设计进阶-云课堂' S0 c5 z4 C* S: n: K/ D ├─第1周 类和对象 9 i5 N/ j$ I9 d9 z9 t# [# U: D│      1.1 用类制造对象. ...

  9. mysql 进阶_mysql进阶 - 随笔分类 - 云潇洒 - 博客园

    随笔分类 - mysql进阶 1 摘要:防御SQL注入的方法总结 这篇文章主要讲解了防御SQL注入的方法,介绍了什么是注入,注入的原因是什么,以及如何防御,需要的朋友可以参考下. SQL注入是一类危害 ...

最新文章

  1. Spring基础专题——第八章(事务)
  2. 【清华集训2016】数据交互
  3. STM32F103的PC13、PB3和PB4定义为普通IO口使用
  4. 用于J2EE开发的Cloud IDE
  5. mysql时间戳计算_mysql根据时间戳计算
  6. 计算机教师招聘试题(汇总集合版),计算机教师招聘试题(汇总集合版)ed.doc
  7. Linux系统网络性能实例分析
  8. 10个用好模糊效果的超实用设计技巧
  9. Thread.Sleep太久,界面卡死
  10. JSP编程中遇到的问题及解决
  11. c语言编译器代码及翻译,在线C语言编译器/解释器
  12. Matlab 阶乘factorial
  13. 图像渲染测试软件,3D渲染参数(测试图及光子图)
  14. 微信 css area,微信小程序--手写一个地区选择器(多级联动)
  15. Nginx安装配置报错详解
  16. folly::ConcurrentSkipList 详解
  17. 计算机主板维修层次,计算机主板维修
  18. 【笔记】GEE之python学习
  19. 程序员面试阿里感慨竞争激烈:研究生成群,10个人里4个北大
  20. Python + Excel——飞速处理数据分析与处理

热门文章

  1. Sql(Oracle)
  2. GitHub 上标星 9.4K 的云盘系统
  3. 79、ClimateNeRF: Physically-based Neural Rendering for Extreme Climate Synthesis
  4. 【C语言】简单判断字符串是否为回文
  5. python绘制饼图的子图_Python入门进阶:Python绘制饼图到Microsoft Excel
  6. Python 入门之类的继承
  7. turtle六边形绘制
  8. AMP/SMP/BMP
  9. MySQL建库建表:utf8和utf8mb4的区别
  10. HC-05蓝牙模块主从机AT指令