ホームページ > バックエンド開発 > PHPチュートリアル > 如何通过优雅的代码逻辑方式,使得通过get method访问的地址在传递的参数不正确的时候避免出现额外的错误?

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

WBOY
リリース: 2016-06-06 20:24:51
オリジナル
1009 人が閲覧しました

如题,比如我要访问的一个链接是 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>
ログイン後にコピー

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

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート