Ответ на связанный с вами вопрос предполагает, что функции не должны полагаться на какие-либо внешние (например, глобальные) переменные.$_GET
и $_POST
(среди прочих) являются «суперглобальными», языковой функцией PHP, которая делает их доступными в любой области.Это означает, что они могут быть неожиданно изменены из любого места в ваших скриптах.
Один из способов избежать этого - избегать использования суперглобальных переменных в методах, а вместо этого - как следует из ответа на другой вопрос - вместо этого требовать параметрыдля переменных, которые вы могли бы получить из суперглобалей.
Например, вместо:
function add_user() {
$user = $_GET['user'];
// ...
}
add_user();
Вы бы использовали:
function add_user($user) {
// ...
}
add_user($_GET['user']);
В вашей ситуации, чтоВы хотели бы это:
function page($title, $msg){
echo '<h1>'.$title.'</h1>';
echo '<p>';
switch($msg){
case 1:
echo 'dwasdwadawdwadwa';
break;
case 2:
echo 'wasdadwadwdad';
break;
default:
echo 'wadasdasd';
break;
}
echo '</p>';
}
Затем, когда вы звоните page
, вы бы назвали его следующим образом:
page($_GET['title'], $_GET['msg']);