84PHP框架

84PHP框架可以帮助用户在建立网站和设计应用程序的时候使用,当您需要通过PHP开发程序和web应用的时候就可以部署这款框架,软件可以连接到多种使用,可以结合MySQL使用,提供更快速的访问速率,快速在传输数据,无论是设计网站还是设计程序都可以使用这款框架;这里小编推荐的是发布的5.0版本,新版增加和修复了很多功能,新增了Wng模块对报错样式的配置项,修复了Setting模块的潜在错误,新增用以缓存数据的Data模块!

84PHP框架模块介绍

Wng:输出预定义的报错。

Vcode:生成验证码。

Tool:一些实用的小功能。

Sms:通过服务商提供的接口,实现发送手机短信的功能。目前支持阿里云通信。

Setting:读取或修改模块配置文件中的配置项。

Session:会话(Session)功能模块。Session功能的参数定义,其中每一个元素为一个参数,元素的 键 为参数的名称(名称无需包含 session. 前缀),元素的 值 为参数对应的值,您可以自行添加/删除这些参数。

Send:通过HTTP协议,以GET或POST方式发送数据。

Receive:接收数据并对数据的可进行验证和对数据进行安全处理。

Pay:通过第三方支付平台提供的接口,实现在线支付。目前支持支付宝支付和微信支付。

Page:以分页的方式执行Mysql模块的SelectMore()方法。

Mysql:本模块底层通过 MySQLi 驱动,进行 CD (增删改查)以及执行自定义SQL的作。

Mail:向指定的邮件地址发送Email。

Log:将志进行保存。

本功能在写入文件时会执行 加锁作 ,因此不保证能够记录到 每一个 客户端的访问数据。请务必确保Temp目录具有 读写权限 。

Load:将浏览器上传的文件存储至以及将远程的文件下载至。

Ip:通过对IP地址( IPv4 )黑白名单的作,来允许或阻止程序运行。如要使用本模块,请务必保证Temp目录下的ip-blacklist.php和ip-whitelist.php具有 读写权限 ,否则将报错。当上述两个文件不存在时,将 自动建立 这两个文件。

Img:对图片进行处理。

Ftp:通过FTP进行上传、下载等作。

Dir:获取目录或文件的属、状态;复制、删除目录或文件。

Data:将数据缓存至指定的位置,并在需要时读取/清除它。

84PHP框架软件特色

简单

没有复杂的模式和概念,新手同样轻松使用。独创的中文快捷传参,更加方便记忆

高效

功能全面、使用方便的功能模块,为面向AP编程特别优化和改进的框架,让您事半功倍。

快速

仅100KB的框架代码,就足以支撑起大型互联网应用。更加优化的缓存模式,大大节省开销

安全

特有的防注入方式,从根源上阻止代码入侵行为。对安全问题的周全考虑,是我们的大优势。

主流框架能(QPS)对比

测试方式: Apache Bench/并发50共5000次请求/测试5次取平均值(四舍五入)

测试项目:文本输出/从一个包含2000数据的数据库中,用分页的方式,取出第920-1000行数据

环境:云上海四区标准型2Win2008r2-sp1企业版/ Apache2.4.41-win/php7.4.3-x-ts

数据库环境:云-上海四区高可用版-1核1000MB -MySQL5-5.7

84PHP框架使用说明

Cache

模块简述

更新或重建缓存。

模块配置

配置文件位于 /Config/Cache.php 。

ExpTime (Int) 300 :

缓存的有效期。

调试模式未开启时,有效期内的缓存不会被重建,单位为 秒 。

TPath (Stng) ‘/Source/Template’ :

静态模板的路径,务必以 / 开头。

您还可以修改此路径以增加代码安全。

如果修改了此配置项,请务必确保已经存在对应的拥有 读写权限 的模板目录。

DPath (Stng) ‘/Source/Data’ :

后端模板的路径,务必以 / 开头。

您还可以修改此路径以增加代码安全。

如果修改了此配置项,请务必确保已经存在对应的拥有 读写权限 的模板目录。

CacheMatch (Array) (省略) :

前端语法捕获规则的正则表达式的数组,其中元素的键为 规则名称 ,值为 正则表达式 。

您还可以通过修改此配置项自行设计前端语法。

请确保在 CacheReplace 配置项中有对应的替换规则。

CacheReplace (Array) (省略) :

前端语法替换规则的数组,其中元素的键为 规则名称 ,值为 替换表达式 。

请确保在 CacheMatch 配置项中有对应的捕获规则。

Compile()方法

语法

Cache :: Compile ( 传参数组 )

说明

建立或更新单个缓存。

此方法 支持 中文参数名。

参数

path(路径) (Stng) <必须>:

模板文件的 相对路径 ,即不包含模板文件夹的路径,并且不含后缀名,例如:/user/login 。

通常情况下,此参数的值就是页面的 I 。

force(强制编译) (Bool) FALSE:

是否强制编译缓存,默认关闭。

当传入的值为 TRUE 时,代表忽略缓存的修改时间,再次建立缓存。

传入的字符串可同时包含上述字符。

返回

无。

示例

更新访问路径为 /user/login 的页面的缓存,且无论缓存文件是否过期,都 强制编译 :

ReBuild()方法

语法

Cache :: ReBuild ()

说明

重建所有缓存。

参数

无。

返回

无。

示例

Cache::ReBuild();

Mysql

模块简述

本模块底层通过 MySQLi 驱动,进行 CD (增删改查)以及执行自定义SQL的作。

依赖

本模块依赖于基模块 Log 。

模块配置

配置文件位于 /Config/Mysql.php 。

Log (Bool) FALSE :

用以指定是否将报错写入志。

TRUE 代表写入志、FALSE 代表不写入志,默认不写入志。

RW_Splitting (Bool) FALSE:

用以指定读写分离是否开启,当值为 TRUE 时开启,值为 FALSE 时关闭。

读写分离按照 一主多从 模式进行,其中 deflt 组为写入组,其余组为读取组,读取组选择的方式是 随机选取 。

如果要使用读写分离功能,至少需要一个读取组和一个写入组,此外您还需要对这些数据库进行 额外的 主从同步配置。

DbInfo (Array) (省略) :

此配置项为一个二维数组(Array),用以指定数据库。在第一维数组中, 键 为配置组名称, 值 为一个数组,且该数组(即第二维数组)只能有以下五个元素:

键为 address ,值为数据库地址。如果非远程数据库,请使用默认值 localhost ;

键为 username ,值为数据库用户名;

键为 password ,值为数据库密码;

键为 dbname ,值为数据库名称;

键为 port ,值为数据库端口号。

其中,配置组deflt 不可删除 ,也不可将deflt改为其他名称,可以在第一维数组中增加更多的元素以配置多数据库。

公共参数

表的指定

table(表) (Stng | Array) <必须>:

用以指定所作的数据表表名。

当本参数为 Stng 类型时,表示仅作一个表。

当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个需要作的表。

WHERE子句

field(字段) (Stng | Array) NULL:

用以指定查询条件中的字段。

本参数值的类型应当与参数 value 保持一致,且传入本参数时, value 参数也必须被传入。

当本参数为 Stng 类型时,表示仅限定一个查询条件。

当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个限制条件,且元素与参数 value 以及参数 condition (如果传入)中的元素保持相互对应。

如需进行多表作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。

value(值) (Stng | Array) NULL:

用以指定查询条件中字段对应的值。

本参数值的类型应当与参数 field 保持一致,且传入本参数时, field 参数也必须被传入。

当本参数为 Stng 类型时,表示仅限定一个查询条件。

当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个字段,且元素与参数 field 以及参数 condition(如果传入)中的元素保持相互对应。

condition(条件) (Stng | Array) ‘=’:

用以确定参数 field 和参数 value 之间的比较符以及与下一个条件之间的并列关系,以及指定各个条件之间的优先级关系。

当本参数为 Stng 类型时,表示仅限定一个查询条件。

当本参数为 Array 类型时,数组键 无需定义 ,值为 比较符[,并列关系] 的字符串,其中比较符为字段与条件值之间的比较符( = ,<> ,> ,>= ,<= ,<> ,LIKE ,NOT LIKE ),并列关系为与下一个限制条件之间的并列关系( and 或 or ,未被定义时默认值为 and ),并且每一个元素与参数 field 和参数 value 中的元素保持相互对应。

如需进行多表作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。

此外,还可以在多个限定条件中,确定条件(或条件组合)之间的优先级。

即在最终的SQL中,框架会根据传入的优先级参数的值,使用括号“()”对查询条件进行优先级的指定,例如

… where `id` = ‘1’ and ( `ll` = ‘a’ or `class` > ‘3’ ) …

的查询。

如需使用此特,则参数 condition 必须为数组,且数组的每一个元素的值将由 Stng 类型改变为 Array 类型,且包含两个元素,且数组的键无需定义:

第一个元素的值为 比较符[,并列关系] 的字符串,该字符串的定义方式不再赘述。

第二个元素的值为 前置括号[,后置括号] 的字符串。其中前置括号为添加在该条件前的左括号,可以为0个或多个 ( ;后置括号为添加在该条件后、下一个并列关系符前的右括号,可以为0个或多个 ) 。

当仅需要添加右括号时,字符串应当定义为 ,后置括号 ,即起始字符为一个英文逗号。

若要实现上面的SQL,那么应该按下面的方式定义这三个参数:

order by子句

order(顺序) (Stng | Array) 默认值见方法参数:

用以指定对结果排序时所依据的字段。

当本参数为 Stng 类型时,表示仅限定一个排序字段。

当本参数为 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) (Stng) NULL:

附加执行自定义的SQL。

gup_by(分组) (Stng | Array) NULL:

用以指定对结果分组时所依据的字段。

当本参数为 Stng 类型时,表示仅指定一个分组依据的字段。

当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个排序所依据的字段。

如需进行多表作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。

field_limit(字段限制) (Stng | Array) *:

用以指定取回结果的字段范围。

当本参数为 Stng 类型时,表示仅指定一个取回的的字段。

当本参数为 Array 类型时,数组键无需定义,每一个元素的值代表一个需要取回的字段。

* 代表取回所有字段。

如需进行多表作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。

data(数据) (Array) 默认值见方法参数:

用以指定需要插入或更新的数据。

本参数中 键 为字段名, 值 为字段名所对应的值。

如需进行多表作,可以将传入的字段名设置为 <表名>*<字段名> ,例如 student*id 代表的就是 student 表的 id 字段。

升级指南

从4.0.2升级到当前版本

备份所有代码文件 ;

阅读 入门指南 ;

覆盖 /Core 路径下的全部文件;

覆盖 /Config 路径下的全部文件,并参考备份代码中配置文件,更改新版本配置文件中的 配置项 ;

覆盖 /Web/index.php 文件;

如果自定义了报错页样式,请进行修改。

将所有模板中的 exit;# 删除。

参照 入门指南 修改模板文件中的 模块语法 为标准的静态方法调用语法。

上一篇 2022-11-28

相关推荐

  • 84PHP框架

    84PHP框架可以帮助用户在建立网站和设计应用程序的时候使用,当您需要通过PHP开发程序和web应用的时候就可以部署这款框架,软件可以连接到多种使用,可以结合MySQL使用,提...
正在提交中,请稍等片刻...

发表回复

请登录后评论...
登录后才能评论

评论列表 (0条)