微信小程序校验

本文介绍了一种通过校验层提高代码复用性的方法,并提供了具体的PHP代码示例,包括基本校验层的实现及如何进行整数验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.通过书写校验层可以大大增加代码的可复用性;
2.一下是一个校验层的案例:
 (1)BaseValidate 代码:

namespace app\api\validate;


use think\Exception;
use think\Request;
use think\Validate;

class BaseValidate extends Validate
{
    public function  goCheck(){
        $request=Request::instance();
        $params=$request->param();
        $result=$this->check($params);
        if(!$result){
            $error=$this->error;
            throw new Exception($error);
        }
        else{
            return true;
        }
    }

}
-----------------------------------------
(2) 整数校验的代码
<?php
/**
 * Created by PhpStorm.
 * User: DELL
 * Date: 2018/5/14
 * Time: 16:46
 */

namespace app\api\validate;


use app\api\validate\BaseValidate;
class IDMustBePostiveInt extends BaseValidate{
    protected  $rule= [
        'id'=>'require|isPositiveInteger:'
    ];
    protected  function  isPositiveInteger($value,$rule='',
    $data='',$field='' ){
     if(is_numeric($value)&&is_int($value+0)&&($value+0)){
         return true;
     }
     else{
         return $field."不是正整数";
     }
    }
}
----------------------------------------------------------
(3)banner 层代码
 public function getBanner($id)
    {

        (new IDMustBePostiveInt())->goCheck();
        $c=1;
}
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-
一下为执行顺序(通过debug调试而得)
1.首先进入banner 页面内new IDMustBePostiveInt())->goCheck();而后执行BaseValidate中的goCheck()方法,这里可以使用的原因是new 了 IDMustBePostiveInt()方法,而该放大继承了BaseVaildate类
2.goCheck()方法获取到所有参数后, $result=$this->check($params); 前往 IDMustBePostiveInt类中的IDMustBePostiveInt ()方法执行校验。
3.本例以非整数测试,校验失败后进入error.php页面保存返回的错误信息
4.进入validate.php页面 判断没有返回true,修改返回result=false
5.返回banner页面执行result=false 语句,即抛出异常(信息为校验失败是保存的信息)


### 如何在IIS服务器配置微信小程序验证文件 为了使微信小程序能够顺利通过微信公众平台的安全验证,在IIS服务器上放置特定的校验文件是必要的。以下是详细的说明: #### 创建并上传验证文件 1. **获取验证字符串** 当开发者提交了服务器地址后,微信公众平台会提供一段独一无二的 `verify string` 字符串用于确认所有权。 2. **创建txt文件** 使用记事本或其他纯文本编辑工具新建一个 `.txt` 文件,并将上述获得的验证字符串作为该文档唯一的内容保存下来。确保没有任何额外字符或空格存在[^5]。 3. **命名规则** 此`.txt`文件的名字应当严格按照官方给出的要求来设定;通常格式为`<随机数>.txt`形式,其中 `<随机数>` 是由微信提供的固定部分组成。 #### IIS中的设置 - 将准备好的 txt 文件放到 IIS 托管站点根目录下,比如默认情况下可能是 C:\inetpub\wwwroot\[YourSiteFolder]\。 - 如果希望此文件能被外部访问,则需保证其路径位于可公开浏览的位置内,并且拥有正确的读取权限。 - 对于某些版本的操作系统(如 Windows Server 2008 R2 或更早),可能还需要手动开启静态内容功能以允许 .txt 类型文件的服务[^3]。 ```powershell # PowerShell命令启用IIS静态内容特性 (适用于Windows Server) Add-WindowsFeature Web-Static-Content ``` - 接着打开 Internet Information Services (IIS) Manager ,找到对应的网站节点,双击"MIME Types"图标查看是否有针对 `.txt` 的 MIME 映射条目。如果没有的话可以点击右侧操作面板里的 "Add..." 来添加一个新的映射关系:扩展名为 `.txt`,MIME Type 设置为 `text/plain` 即可。 完成以上步骤之后,应该可以通过浏览器直接访问形如 http://yourdomain.com/<random_number>.txt 这样的URL来下载到刚刚上传上去的小程序验证文件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值