Ich baue ein einfaches Multi-Sprachen-System. Ich habe eine Klasse namens Sprache erstellt, die von meinem Controller geladen wird, ist die Klasse sehr einfach:Kann keine Variable von einer anderen PHP-Datei erhalten
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];
}
}
innerhalb der trans_mig.php
habe ich folgendes:
$lang['home'] = 'Home';
$lang['user'] = 'User';
aber wenn ich zum Beispiel dies:
$this->lang->line('user');
ich erhalte die folgende Fehlermeldung:
Notice: Undefined variable: lang
in der Datei, die ich die trans_mig.php
enthalten habe, was mache ich falsch?
'$ lang' enthalten ist außerhalb der Klasse definiert. Es gibt keine '$ lang'-Eigenschaft in der 'Language'-Klasse, so dass Sie nicht mit' $ this' darauf zugreifen können. [Variablenbereich] (http://php.net/manual/en/language.variables.scope.php). – FirstOne