Передача параметров в метод класса (PHP)

19:39 8.07.2017
Недавно мне потребовалось вставить языковые переменные, что находятся в массиве, в функции класса, то есть в методы, в некоторых методах необходимо использовать фразы. Массив фраз находится в отдельном файле и иклюдится к основному файлу, к которому инклюдятся многие файл, но суть не в этом, суть в том, что просто так в функцию не вставишь переменную, которая была создана за пределами функции, ее надо передавать.

Я решил написать функцию, которая будет передавать эти самые фразы, туда, куда надо. Сейчас расскажу, что я "намудрил". И так, допустим у нас есть массив фраз в отдельном файле:
$lang = array(
    'phrase_1' => 'Фраза 1',
    'phrase_2' => 'Фраза 2',
    'phrase_3' => 'Фраза 3'
);

Теперь пишем простенькую функцию:
function lang($key)
{
    global $lang;

    return $lang[$key];
}

Теперь в любом методе (или функции) можно получить любую фразу из массива по ключу, используя функцию lang(), вот так:
lang('phrase_1');

Пример вывода фразы на экран:
echo lang('phrase_3');

На экране будет фраз с ключом phrase_3:
Фраза 3

При необходимости функцию можно зарегистрировать, при помощи функции spl_autoload_register() - https://secure.php.n ... ad-register.php:
spl_autoload_register('lang');