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.
数年业务迭代工作的经验总结,具有很强的实战价值,实践证明,本框架能够高性能地、安全地运行上亿pv的互联网业务
SMPHP是高性能、易扩展的,源代码更优雅、更简约、层次更清晰易懂
做到了真正的轻量级,框架的核心系统基于非常轻量灵活的库,安装包仅有 1M,和那些需要大量资源的框架完全相反
优雅的路由,高效的模板,安全性,丰富的类库,都赋予这个轻巧的框架更多能力
SMPHP框架类库中使用了大量抽象手法,如Acl类:分为Acl.class、Role.class、Resource.class、Adaptor.class,将添加“角色”-添加“权限”-为“角色”分配“权限”-验证“角色”是否拥有“权限的过程抽象程四个类直接的调用。同时“权限”由“资源”和“操作”构成,“角色”可以继承,支持多种不同Resource类型。
大量类库面向接口开发设计,方便扩展,如Upload类:实现FileInfoInterface, StorageInterface, ValidationInteraface等接口,扩展上十分方便。类库内部以驱动的方式开放扩展接口,并提供多种实现,如Cache类提供三种驱动实现,File,Memcached,Redis,其他类型只需要实现CacheInterface便可以通过Cache使用。
统一的对象管理;单例模式交由容器控制完成。
源码清晰简单可读性强,力求代码的最简化,写法优雅。单测用例覆盖全面。
DB类库对数据库常用操作进行了封装,让数据库的使用更高效、安全、便捷。SMDB基于PDO,对sql进行了分解抽象,定义了一系列方法,应用通过链式调用类库的方法,执行所需的数据库操作
Tree类是SM独有的类库,用于处理具有继承关系或者从属关系的树形结构的数据。对于像页面多级菜单,Tree类可以提供极大的便利性。
PHP自身没有提供锁机制,一种悲观锁,SM利用文件锁和redis特性进行了两种实现,支持堵塞和非堵塞两种模式,为并发环境下访问资源提供锁保护。
SMPHP框架提供了大量安全相关的类,供各种场景所需,例:Acl权限管理、访问频率限制、访问安全Nonce、动态密码、验证码等
MobileDetect是移动设备的工具类,根据Http Header和User Agent判断是否是移动设备,设备类型,版本等信息。提升网站对于移动设备服务的便捷性。
该工具类功能是获取指定日期的农历信息括时间戳、该月天数、农历月份、农历日期、农历年份、节气、生肖属相、天干地支纪年、天干地支纪月、天干地支纪日、节日、是否上班。