2015-03-23 2 views
0

Это хорошая или плохая практика для вызова глобальных переменных внутри методов класса? Да/Нет и почему? Проверьте следующий пример:Является ли хорошей практикой использование глобальных переменных в методах класса PHP?

PHP файл, который содержит глобальную переменную: метод

$a = ['a1','a2','a3','a4','a5']; 

Класс:

private function foo($i) 
{ 
    global $a; 
    return $a[$i]; 
} 
+3

...... Нет .......... –

+1

Ум, чтобы объяснить, почему? – iVoidWarranties

+1

, потому что глобальные переменные могут быть изменены вне сферы действия класса, что может вызвать ошибки, которые невообразимый кошмар для поиска. – cmorrissey

ответ

0

Вы действительно должны держать переменные в локальных областях и передать их в качестве значений или ссылки , Из того, что я узнал на Java и C, эти переменные занимают место (ОЗУ), и вы можете ошибиться в изменении переменных из другого класса, когда вы тоже не имели в виду.

0

глобальные переменные доступны из любой части программы и, таким образом, могут быть изменены, например, если вы хотите импортировать библиотеку для своего проекта и получается, что эта библиотека использует переменную с тем же именем, что ваша программа остановится работать и генерировать ошибки, которые вам трудно решить. Другая проблема с глобальными переменными заключается в том, что когда ваш проект становится больше, вы можете использовать имя переменной, которое вы уже использовали ранее.

Смежные вопросы