助你快速搭建一个安全可靠的WEB服务

The main force quickly builds a secure and reliable web service that allows you to focus more on the development and design of the project
Rich and comprehensive documentation.

为什么选择使用SMPHP框架

实战开发总结

数年业务迭代工作的经验总结,具有很强的实战价值,实践证明,本框架能够高性能地、安全地运行上亿pv的互联网业务

优雅简约

SMPHP是高性能、易扩展的,源代码更优雅、更简约、层次更清晰易懂

超轻量级

做到了真正的轻量级,框架的核心系统基于非常轻量灵活的库,安装包仅有 1M,和那些需要大量资源的框架完全相反

丰富的类库

优雅的路由,高效的模板,安全性,丰富的类库,都赋予这个轻巧的框架更多能力

SM PHP特性及特色类库


抽象和分离做到极致

SMPHP框架类库中使用了大量抽象手法,如Acl类:分为Acl.class、Role.class、Resource.class、Adaptor.class,将添加“角色”-添加“权限”-为“角色”分配“权限”-验证“角色”是否拥有“权限的过程抽象程四个类直接的调用。同时“权限”由“资源”和“操作”构成,“角色”可以继承,支持多种不同Resource类型。

兼容性一致性,面向接口编程

大量类库面向接口开发设计,方便扩展,如Upload类:实现FileInfoInterface, StorageInterface, ValidationInteraface等接口,扩展上十分方便。类库内部以驱动的方式开放扩展接口,并提供多种实现,如Cache类提供三种驱动实现,File,Memcached,Redis,其他类型只需要实现CacheInterface便可以通过Cache使用。

使用容器类管理对象

统一的对象管理;单例模式交由容器控制完成。

优雅的源码,单测

源码清晰简单可读性强,力求代码的最简化,写法优雅。单测用例覆盖全面。

DB类

DB类库对数据库常用操作进行了封装,让数据库的使用更高效、安全、便捷。SMDB基于PDO,对sql进行了分解抽象,定义了一系列方法,应用通过链式调用类库的方法,执行所需的数据库操作

Tree树形结构

Tree类是SM独有的类库,用于处理具有继承关系或者从属关系的树形结构的数据。对于像页面多级菜单,Tree类可以提供极大的便利性。

资源锁 Lock

PHP自身没有提供锁机制,一种悲观锁,SM利用文件锁和redis特性进行了两种实现,支持堵塞和非堵塞两种模式,为并发环境下访问资源提供锁保护。

丰富的安全类库

SMPHP框架提供了大量安全相关的类,供各种场景所需,例:Acl权限管理、访问频率限制、访问安全Nonce、动态密码、验证码等

MobileDetect类

MobileDetect是移动设备的工具类,根据Http Header和User Agent判断是否是移动设备,设备类型,版本等信息。提升网站对于移动设备服务的便捷性。

Lunar农历

该工具类功能是获取指定日期的农历信息括时间戳、该月天数、农历月份、农历日期、农历年份、节气、生肖属相、天干地支纪年、天干地支纪月、天干地支纪日、节日、是否上班。

SM 中文文档
编程是技能,不是知识,技能的唯一学习路径就是重复、实战性练习。 联系我们

Copyright © SM中文网