【发布时间】:2015-03-31 18:57:30
【问题描述】:
首先我是 OOP 的新手。对不起,如果这是一个菜鸟问题。
我正在建立一个多语言网站。我正在使用 languga iso 获取数据库值。例如:index.php?lang=en 如果使用 $_GET 参数设置语言值,mysql 只会在数据库中带来 en 值。问题出在我的 LanguageController 上。
// LanguageController Class
class LanguageController {
public $lang = "en";
public function __construct() {
return true;
}
public static function detectLang() {
$lang = 'en';
ob_start();
session_start();
if(isset($_GET["lang"])) {
$lang= $_GET["lang"];
$_SESSION["lang"] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
}
else {
$lang = 'en';
$_SESSION["lang"] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
return true;
}
}
}
我想为例如“en”传递默认的 $lang 参数。
如果客户将语言更改为“fr”,我必须开始一个会话。而 mysql 带来了 'fr' 语言值。
如何在我的detectLang() 方法上传递我的$lang 参数。
我试过var_dump(LanguageController::detectLang())
它来了NULL。
非常感谢任何帮助。
【问题讨论】:
标签: php oop parameter-passing multilingual