>  기사  >  백엔드 개발  >  如何通过优雅的代码逻辑方式,使得通过get method访问的地址在传递的参数不正确的时候避免出现额外的错误?

如何通过优雅的代码逻辑方式,使得通过get method访问的地址在传递的参数不正确的时候避免出现额外的错误?

WBOY
WBOY원래의
2016-06-06 20:24:51952검색

如题,比如我要访问的一个链接是 http://www.XXX.com?type=class,在产品角度上,只需要class,group两个类型,用户的正常操作也不会触发其他类型,但是当用户手动输入URL,比如http://www.XXX.com?type=class 的时候,在后台如何去优雅的处理这些不存在的type才会符合用户体验并且不破坏代码优雅性?

回复内容:

如题,比如我要访问的一个链接是 http://www.XXX.com?type=class,在产品角度上,只需要class,group两个类型,用户的正常操作也不会触发其他类型,但是当用户手动输入URL,比如http://www.XXX.com?type=class 的时候,在后台如何去优雅的处理这些不存在的type才会符合用户体验并且不破坏代码优雅性?

<code class="php"><?php const AllowTypes = array('class', 'group');

$type = @$_GET['type'];

if(in_array($type, AllowTypes) == false){
    exit('.......');
}


///下面写你正常的代码即可..
///将来要增加/删除类型, 只需要在 AllowTypes 中增加/删除内容即可
///再将来也可以将上面的 const 做为配置项, 保存为一个公用文件
///然后将 in_arra y这样的检测改为一个函数调用 
///比如 if(AllowType(AllowTypes, $type))
///$type 为要从HTTP请求中获取的内容, 然后 AllowTypes 为该内容在哪个项目里进行检测
</code></code>

仅供参考, 期待其他更高明的回复.

这应该是个筛选条件吧, 先判断筛选条件是否合法,不合法跳转到默认页.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.