我正在寻找如何在 PHP 中使用具有错误级别的外部变量的最佳方法,包括E_NOTICE
.
我有三种可能的方法,我会很高兴,如果你能对每种方法给出一些提示或提出你喜欢的不同方法。
-
1.
类 WebApp { 公共静态函数 _GET($Index) { if (isset($_GET[$Index])) { 返回 $_GET[$Index]; } 别的 { 返回空值; } } } // E_NOTICE,不抛出通知: 回声 WebApp::_GET('ID'); // E_NOTICE,抛出一个通知: 回声 $_GET['ID'];
2.
类 RequestSanitizer { 常量 V_INTEGER = 1; 常量 V_STRING = 2; 常量 V_REAL = 3; 公共静态函数清理($arr){ foreach ($arr as $key => $val) { if (array_key_exists($key, $_GET)) { 开关 ($val) { 案例 RequestSanitizer::V_INTEGER: $_GET[$key] = $_GET[$key] + 0; 休息; 案例 RequestSanitizer::V_STRING: $_GET[$key] = $_GET[$key] + ''; 休息; 案例 RequestSanitizer::V_REAL: $_GET[$key] = $_GET[$key] + 0; 休息; } } 别的 { $_GET[$key] = null; } } } } RequestSanitizer::Sanitize(数组( 'GraphID' => RequestSanitizer::V_INTEGER, '用户名' => RequestSanitizer::V_STRING, '密码' => RequestSanitizer::V_STRING, '价格' => RequestSanitizer::V_REAL )); 回声 $_GET['GraphID'];
3.
if (isset($_GET['ID']) && ($_GET['ID']+0>0)) { 回声 $_GET['ID'] }