84PHP框架
v5.0.0 官方版- 软件大小:0.07 MB
- 更新日期:2021-02-22 09:22
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
84PHP框架可以帮助用户在建立网站和设计应用程序的时候使用,当您需要通过PHP开发程序和web应用的时候就可以部署这款框架,软件可以连接到多种服务器使用,可以结合MySQL使用,提供更快速的服务器访问速率,快速在服务器传输数据,无论是设计网站还是设计程序都可以使用这款框架;这里小编推荐的是官方发布的5.0版本,新版增加和修复了很多功能,新增了Wrong模块对报错样式的配置项,修复了Setting模块的潜在错误,新增用以缓存数据的Data模块,如果您需要PHP框架就可以下载这款软件!
模块介绍
Wrong:输出预定义的报错信息。
Vcode:生成验证码。
Tool:一些实用的小功能。
Sms:通过服务商提供的接口,实现发送手机短信的功能。目前支持阿里云通信。
Setting:读取或修改模块配置文件中的配置项。
Session:会话(Session)功能模块。Session功能的参数定义,其中每一个元素为一个参数,元素的 键 为参数的名称(名称无需包含 session. 前缀),元素的 值 为参数对应的值,您可以自行添加/删除这些参数。
Send:通过HTTP协议,以GET或POST方式发送数据。
Receive:接收数据并对数据的可靠性进行验证和对数据进行安全处理。
Pay:通过第三方支付平台提供的接口,实现在线支付。目前支持支付宝支付和微信支付。
Page:以分页的方式执行Mysql模块的SelectMore()方法。
Mysql:本模块底层通过 MySQLi 驱动,进行 CURD (增删改查)以及执行自定义SQL语句的操作。
Mail:向指定的邮件地址发送Email。
Log:将日志进行保存。
本功能在写入文件时会执行 加锁操作 ,因此不保证能够记录到 每一个 客户端的访问数据。请务必确保Temp目录具有 读写权限 。
Load:将浏览器上传的文件存储至服务器以及将远程的文件下载至服务器。
Ip:通过对IP地址( IPv4 )黑白名单的操作,来允许或阻止程序运行。如要使用本模块,请务必保证Temp目录下的ip-blacklist.php和ip-whitelist.php具有 读写权限 ,否则将报错。当上述两个文件不存在时,将 自动建立 这两个文件。
Img:对图片进行处理。
Ftp:通过FTP进行上传、下载等操作。
Dir:获取目录或文件的属性、状态;复制、删除目录或文件。
Data:将数据缓存至指定的位置,并在需要时读取/清除它。
软件特色
简单
没有复杂的模式和概念,新手同样轻松使用。独创的中文快捷传参,更加方便记忆
高效
功能全面、使用方便的功能模块,为面向AP编程特别优化和改进的框架,让您事半功倍。
快速
仅100KB的框架代码,就足以支撑起大型互联网应用。更加优化的缓存模式,大大节省服务器开销
安全
特有的防注入方式,从根源上阻止代码入侵行为。对安全问题的周全考虑,是我们的大优势。
主流框架性能(QPS)对比
测试方式: Apache Bench/并发50共5000次请求/测试5次取平均值(四舍五入)
测试项目:文本输出/从一个包含2000数据的数据库中,用分页的方式,取出第920-1000行数据
服务器环境:腾讯云上海四区标准型2Win2008r2-sp1企业版/ Apache2.4.41-win64/php7.4.3-x64-ts
数据库环境:腾讯云-上海四区高可用版-1核1000MB -MySQL5-5.7
使用说明
Cache
模块简述
更新或重建缓存。
模块配置
配置文件位于 /Config/Cache.php 。
ExpTime (Int) 300 :
缓存的有效期。
调试模式未开启时,有效期内的缓存不会被重建,单位为 秒 。
TPath (String) '/Source/Template' :
静态模板的路径,务必以 / 开头。
您还可以修改此路径以增加代码安全性。
如果修改了此配置项,请务必确保已经存在对应的拥有 读写权限 的模板目录。
DPath (String) '/Source/Data' :
后端模板的路径,务必以 / 开头。
您还可以修改此路径以增加代码安全性。
如果修改了此配置项,请务必确保已经存在对应的拥有 读写权限 的模板目录。
CacheMatch (Array) (省略) :
前端语法捕获规则的正则表达式的数组,其中元素的键为 规则名称 ,值为 正则表达式 。
您还可以通过修改此配置项自行设计前端语法。
请确保在 CacheReplace 配置项中有对应的替换规则。
CacheReplace (Array) (省略) :
前端语法替换规则的数组,其中元素的键为 规则名称 ,值为 替换表达式 。
请确保在 CacheMatch 配置项中有对应的捕获规则。
Compile()方法
语法
Cache :: Compile ( 传参数组 )
说明
建立或更新单个缓存。
此方法 支持 中文参数名。
参数
path(路径) (String) <必须>:
模板文件的 相对路径 ,即不包含模板文件夹的路径,并且不含后缀名,例如:/user/login 。
通常情况下,此参数的值就是页面的 URI 。
force(强制编译) (Bool) FALSE:
是否强制编译缓存,默认关闭。
当传入的值为 TRUE 时,代表忽略缓存的修改时间,再次建立缓存。
传入的字符串可同时包含上述字符。
返回
无。
示例
更新访问路径为 /user/login 的页面的缓存,且无论缓存文件是否过期,都 强制编译 :
ReBuild()方法
语法
Cache :: ReBuild ()
说明
重建所有缓存。
参数
无。
返回
无。
示例
Cache::ReBuild();
Mysql
模块简述
本模块底层通过 MySQLi 驱动,进行 CURD (增删改查)以及执行自定义SQL语句的操作。
依赖
本模块依赖于基础模块 Log 。
模块配置
配置文件位于 /Config/Mysql.php 。
Log (Bool) FALSE :
用以指定是否将报错信息写入日志。
TRUE 代表写入日志、FALSE 代表不写入日志,默认不写入日志。
RW_Splitting (Bool) FALSE:
用以指定读写分离是否开启,当值为 TRUE 时开启,值为 FALSE 时关闭。
读写分离按照 一主多从 模式进行,其中 default 组为写入组,其余组为读取组,读取组选择的方式是 随机选取 。
如果要使用读写分离功能,至少需要一个读取组和一个写入组,此外您还需要对这些数据库进行 额外的 主从同步配置。
DbInfo (Array) (省略) :
此配置项为一个二维数组(Array),用以指定数据库信息。在第一维数组中, 键 为配置组名称, 值 为一个数组,且该数组(即第二维数组)只能有以下五个元素:
键为 address ,值为数据库地址。如果非远程数据库,请使用默认值 localhost ;
键为 username ,值为数据库用户名;
键为 password ,值为数据库密码;
键为 dbname ,值为数据库名称;
键为 port ,值为数据库端口号。
其中,配置组default 不可删除 ,也不可将default改为其他名称,可以在第一维数组中增加更多的元素以配置多数据库。
公共参数
表的指定
table(表) (String | Array) <必须>:
用以指定所操作的数据表表名。
当本参数为 String 类型时,表示仅操作一个表。
当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个需要操作的表。
WHERE子句
field(字段) (String | Array) NULL:
用以指定查询条件中的字段。
本参数值的类型应当与参数 value 保持一致,且传入本参数时, value 参数也必须被传入。
当本参数为 String 类型时,表示仅限定一个查询条件。
当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个限制条件,且元素与参数 value 以及参数 condition (如果传入)中的元素保持相互对应。
如需进行多表操作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。
value(值) (String | Array) NULL:
用以指定查询条件中字段对应的值。
本参数值的类型应当与参数 field 保持一致,且传入本参数时, field 参数也必须被传入。
当本参数为 String 类型时,表示仅限定一个查询条件。
当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个字段,且元素与参数 field 以及参数 condition(如果传入)中的元素保持相互对应。
condition(条件) (String | Array) '=':
用以确定参数 field 和参数 value 之间的比较符以及与下一个条件之间的并列关系,以及指定各个条件之间的优先级关系。
当本参数为 String 类型时,表示仅限定一个查询条件。
当本参数为 Array 类型时,数组键 无需定义 ,值为 比较符[,并列关系] 的字符串,其中比较符为字段与条件值之间的比较符( = ,<> ,> ,>= ,<= ,<> ,LIKE ,NOT LIKE ),并列关系为与下一个限制条件之间的并列关系( and 或 or ,未被定义时默认值为 and ),并且每一个元素与参数 field 和参数 value 中的元素保持相互对应。
如需进行多表操作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。
此外,还可以在多个限定条件中,确定条件(或条件组合)之间的优先级。
即在最终的SQL语句中,框架会根据传入的优先级参数的值,使用括号“()”对查询条件进行优先级的指定,例如
... where `id` = '1' and ( `level` = 'a' or `class` > '3' ) ...
的查询语句。
如需使用此特性,则参数 condition 必须为数组,且数组的每一个元素的值将由 String 类型改变为 Array 类型,且包含两个元素,且数组的键无需定义:
第一个元素的值为 比较符[,并列关系] 的字符串,该字符串的定义方式不再赘述。
第二个元素的值为 前置括号[,后置括号] 的字符串。其中前置括号为添加在该条件前的左括号,可以为0个或多个 ( ;后置括号为添加在该条件后、下一个并列关系符前的右括号,可以为0个或多个 ) 。
当仅需要添加右括号时,字符串应当定义为 ,后置括号 ,即起始字符为一个英文逗号。
若要实现上面的SQL语句,那么应该按下面的方式定义这三个参数:
order by子句
order(顺序) (String | Array) 默认值见方法参数:
用以指定对结果排序时所依据的字段。
当本参数为 String 类型时,表示仅限定一个排序字段。
当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个排序所依据的字段,且元素与参数 desc (如果传入)中的元素保持相互对应。
如需进行多表操作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。
desc(降序) (Bool | Array) FALSE:
用以指定是否使用倒序的排序方式。
当本参数为 Bool 类型时,则指定所有字段的排序方式,TRUE 代表倒序、FALSE 代表正序,默认倒序。
当本参数为 Array 类型时,数组键无需定义,每一个元素的值为一个字段排序所依据的方式,且元素与参数 order 中的元素保持相互对应。
例如,将结果按照字段 id 正序排序,并且按照 money 倒序排序:
如需进行多表操作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。
其它子句
limit(限制) (Array) NULL:
用以从 位置偏移量 为起始行取得 指定行数 的记录。
数组的键无需定义,当数组仅存在一个元素时,此元素定义 行数 ,此时位置偏移量 默认为0 ;当数组存在两个元素时,第一个元素定义 位置偏移量 ,第二个元素定义 行数 。
例如,从结果中的第3行开始取15行:
$Limit=array(2,15);
//偏移量从0开始计算。
index(索引) (Int) NULL:
用以指定执行操作时使用的索引。
sql(sql) (String) NULL:
附加执行自定义的SQL语句。
group_by(分组) (String | Array) NULL:
用以指定对结果分组时所依据的字段。
当本参数为 String 类型时,表示仅指定一个分组依据的字段。
当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个排序所依据的字段。
如需进行多表操作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。
field_limit(字段限制) (String | Array) *:
用以指定取回结果的字段范围。
当本参数为 String 类型时,表示仅指定一个取回的的字段。
当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个需要取回的字段。
* 代表取回所有字段。
如需进行多表操作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。
data(数据) (Array) 默认值见方法参数:
用以指定需要插入或更新的数据。
本参数中 键 为字段名, 值 为字段名所对应的值。
如需进行多表操作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。
升级指南
从4.0.2升级到当前版本
备份所有代码文件 ;
阅读 入门指南 ;
覆盖 /Core 路径下的全部文件;
覆盖 /Config 路径下的全部文件,并参考备份代码中配置文件,更改新版本配置文件中的 配置项 ;
覆盖 /Web/index.php 文件;
如果自定义了报错页样式,请进行修改。
将所有模板中的 exit;# 删除。
参照 入门指南 修改模板文件中的 模块语法 为标准的静态方法调用语法。
更新日志
5.0.0
调整了报错页模板文件的名称和位置;
修复Session模块中影响图像生成的代码错误;
调整Vcode模块Base方法,使其返回验证码文本;
修复了Wrong模块对AJAX请求识别错误的问题;
新增用以缓存数据的Data模块;
修复Setting模块中Set方法出错的问题;
修复Page模块返回统计信息不准确问题;
移除模板文件起始的exit;#标记,提高代码可移植性;
新增Log模块中输出累积日志的Get()方法;
新增Log模块中输出累积日志的Output()方法;
移除Log模块Write方法;
新增存放库文件的目录/Lib,提升开发效率和安全性;
调整模块语法为标准的静态方法调用方式Class :: function( );
使用autoload代替原模块引入逻辑;
精简代码;
新增常量URI;
调整入口文件逻辑,非调试模式下也将进行自动编译;
取消Cache模块中,编译时必须处于调试模式的限制;
新增Cache模块中有关缓存有效期的ExpTime配置项;
变更了Cache模块中的Compile方法内的force(强制编译)参数的定义;
修复Cache模块的其他错误;
原Tool模块中的Token方法,迁移至新增的Session模块中;
Session支持Redis及memcache存储;
Session支持自定义部分配置;
支持以命令行模式运行,并修复了此模式下框架报错的问题;
修复了Setting模块的潜在错误;
新增Data模块;
移除Receive模块对Referer的校验;
新增了Wrong模块对报错样式的配置项;
新增了独立的《升级指南》;
调整了文档排序;
调整了报错页样式文件的文件名;
不再区分基础模块与可选模块;
原Receive模块中的FromCheck方法,迁移至新增的Session模块中,并更名为Csrf方法;
新增了Session模块Csrf方法中,对指定的Token进行校验的功能;
错误码的调整。
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文