Я строю простую многоязычную систему. Я создал класс с именем языка, который загружается на мой контроллер, класс очень прост:Невозможно получить переменную другого файла php
class Language
{
private $_langPath = null;
function __construct()
{
$this->_langPath = 'languages/' . LANGUAGES . '/trans_mig.php';
if(!file_exists($this->_langPath))
{
throw new exception("File not found: " . LANG);
}
else
{
include $this->_langPath;
}
}
public function line($key)
{
return $lang[$key];
}
}
внутри trans_mig.php
я следующее:
$lang['home'] = 'Home';
$lang['user'] = 'User';
, но когда я, например, это:
$this->lang->line('user');
Я получаю следующее сообщение об ошибке:
Notice: Undefined variable: lang
в файле, который я включил trans_mig.php
, что я делаю неправильно?
'$ lang' определена вне класса. В классе 'Language' нет свойства' $ lang', поэтому вы не можете получить к нему доступ с '$ this'. [Область переменной] (http://php.net/manual/en/language.variables.scope.php). – FirstOne