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

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

WBOY
WBOYOriginal
2016-06-06 20:24:51952Durchsuche

如题,比如我要访问的一个链接是 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>

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn