## 概述
SpeedPHP是一款全功能的国产PHP框架应用系统,速度飞快,上手容易,是最适合初学者的PHP框架。SpeedPHP以“快速开发、快速学习、快速执行”为理念,带你轻松进入PHP高手的行列。
## 理念
SpeedPHP框架从设计到应用一贯秉持以下三个理念:
**快速开发**
和原生PHP的对比,SpeedPHP框架提供的功能可以简化非常多的操作,这是SpeedPHP框架理念的“快速开发”。尤其是在MVC架构和自带模板引擎的帮助下,更能将日常的开发工作分工,协作,更有利于团队开发的效率。
**快速学习**
SpeedPHP框架坚持:PHP框架是提高开发效率的工具,而非“高手的玩具”。因此,即使刚入门的PHPer,学习和使用PHP框架,也是非常有必要的。
从“快速学习”的理念出发:
SpeedPHP框架的代码精炼,即使是初学者亦能看懂核心代码。
编写最容易理解的教程和制作最有参考价值的实例,让PHP框架丰富而简便的功能,迅速成为PHP开发者的助力。
SpeedPHP框架入门仅需要几分钟,完全进入开发也只需多个小时即可开始,极大节省使用者的学习成本,同时也为团队节省培训和人员衔接成本。
**快速执行**
SpeedPHP框架从实践中总结而来,提供开发过程中常用的功能,同时尽可能地精简核心,坚持“轻量级”的代码架构,让应用程序有着无与伦比的轻快高速。
## 特点
**简单 · 快速**
核心代码精炼简单,更加精炼化的代码,总行数不到500行,但实现了日常开发80%的功能。
**高效 · 实用**
从真实运行,并且上亿访问量的商业系统中取其精华而成,功能更贴合实际开发的需要,实际开发中能够更好地提高团队开发效率。
**易学 · 易用**
非常容易学习和轻松上手编程,节省学习成本,且教程众多,让初学者都能在最短的时间内学会和使用PHP框架。
## 新的版本
更快速,更易用,更科学
0. 支撑超大型php项目及极其丰富开发经验沉淀的php框架。
新版框架是从已经运行多年的,支撑多个大型项目和上百个中大型项目的核心框架上,重写而成。
1. 核心代码不到500行,简约易学但功能强大,速度飞快。
在500行的代码里面,已经实现了旧版的大部分功能,包括MVC架构,路由等。核心文件也精简到了一个文件里面,使得加载更快,更合理。
2. 易于使用的伪静态路由规则,构造各种各样的地址。
新的伪静态功能是内置到框架内部的,可以很直观地对URL构造,并且支持泛域名等URL地址的使用。
3. 大部分的约定配置,更专注于业务功能。
配置已经不再通过覆盖配置的方式来作为默认值,并且新版配置极其少,仅有数据库、rewrite、debug等必须的配置。
> 约定优于配置,这也是目前最优雅的设计方式。
4. 直接使用new语法代替spClass,让代码提示更智能。
解决spClass()函数不能在各种PHP的IDE里面提示类成员方法的问题,使用php自带的autoload方式,按需加载,通过原生语法new来对类进行实例化,更统一更高效。
5. 适应PHP5.2以上版本的语法,调试模式打开STRICT语法要求,代码更健壮。
新版从一开始设计就在5.6平台(以及PHP7)上面进行开发,摒弃全部被php最严格模式(Strict Standards)提示Notice的语法,虽然并没有什么太大的改变,但是看起来确实更好了呢。
6. 支持modules多应用开发架构。
由于多入口程序的长期影响,导致很多php框架都加入了modules模块开发。那么sp框架也一样加入modules的支持。
当然,我们还是建议在比较大型的架构开发中,分开多个应用而不是modules来进行开发会有更高的工作效率和更少的问题。
7. 增加BaseController父类,方便全局操作。
全局操作是新版比较亮点的功能,默认加入了控制器的中间父类BaseController,可以让各种初始化,拦截模式,权限等都有了一个更合理的位置。
8. 新开发的模板引擎支持Smarty日常全部语法,还有布局、自动输出等方便功能。
绝大部分开发过程中,我们用到Smarty引擎的功能只是Smarty的百分之一代码量不到,并且Smarty越来越臃肿。所以我们开发了新的模板引擎,并且内置在框架内,仅仅120行的代码,实现了日常开发全部用到的模板功能。
新的模板引擎在性能上,比Smarty高出非常之多,但还是十分好用的。
9. 默认支持MySQL多库访问、读写分离、分页,按需连接使得数据库更轻更快。
由于再次减少了数据库操作的抽象,现在的sp框架数据库操作仅有一层架构。更简约的架构并加入了按需链接,数据库操作方面有了更进一步的速度提升。
> 对比一下:市面上许多php框架数据库ORM是三层(包括操作层、抽象层、驱动层)
> 而旧版的sp框架是两层(包括操作层和驱动层)
> 最轻量级的新版sp框架是一层(仅有操作层)
10. 强安全策略,自动防止跨站脚本、SQL注入攻击等。
在安全策略上,新版sp框架做的更为极致。比起旧版框架的“建议安全做法”,新版直接通过语法层面强制对安全进行保障。包括:
- 不再需要对数据库参数进行escape的过滤,而是默认使用PDO的参数绑定模式进行过滤。
- 全部的数据库操作,都会自定执行参数绑定模式。
- 模板默认输出变量,均是转码过滤的。
> 旧版框架里面,可以说是“大部分是自动安全机制,其余小部分的只要遵循教程建议来做,就能保证安全”。
> 新版是“不按照安全的模式进行开发,就无法开发”的强制策略。
> 当然,对比其他许多漏洞百出的php框架来说,sp框架不管新版旧版都算是十分安全的了。
- 自述
- 一、入门教程
- 1. 开始使用SpeedPHP
- 2. Hello World
- 3. 理解MVC
- 4. 制作留言本
- 5. 数据操作及Ajax
- 二、框架概述
- 1. 特色
- 2. 版权及开源协议
- 3. 开发环境
- 4. 编码版本
- 5. SAE平台使用
- 三、开发指南
- 1. 开发流程
- 2. 架构及扩展
- 3. 程序目录结构
- 4. 命名建议
- 5. 安全建议
- 6. 用户自定义
- 7. 模块modules
- 四、访问交互
- 1. 表单提交及数据获取
- 2. session/cookie的使用
- 3. 伪静态及URL跳转
- 4. 使用frameset
- 5. 模板引擎特性和使用方法
- 五、数据操作
- 1. 建立数据模型类
- 2. 数据操作教程
- 3. 分页
- 4. SQL支持及关联实现
- 5. 多数据库、主从库配置