奇妙なことに、静的変数には値を割り当てることができません。
プログラムは次のとおりです。
class dbManage {
public static $siteInfo; //サイト情報
/**
* デフォルトで実行
*/
function __construct( ) {
$domainKey = strto lower($_SERVER['SERVER_NAME']);
$domainKey = str_ireplace("www.", "", $domainKey);
self::$siteInfo = dbManage: :getSiteInfo( $domainKey);
}
public static function getSiteInfo($domain) {
self::$siteInfo = $_COOKIE["site"] if (empty(self:: $siteInfo) || self::$siteInfo["domain"] != $domain) {
$sql = "select * from site_config where domain='{$domain}'";
self::$ siteInfo = self ::queryArray($sql);
self::setCookie(self::$siteInfo, "site");
}
return self::$siteInfo;
}
}
問題は赤字の行です。 $_COOKIE["site"] には明らかにデータがありますが、self::$siteInfo は常に空です。専門家の方がいらっしゃいましたら、原因を究明していただけないでしょうか。
-----解決策--------------------------------
self::$ siteInfo が常に空であることはどのようにしてわかりますか? ? ?
------解決策---------
self::$siteInfo = $_COOKIE[" サイト"]; if (empty(self::$siteInfo) || self::$siteInfo["domain"] != $domain) {
後で $_COOKIE["site" を使用します] を使用して値を割り当て、後で $siteInfo["domain"]
を使用します。お聞きしたいのですが、$_COOKIE["site"] または $siteInfo は配列ですか?ドメインはどこから来たのでしょうか?
------解決策------------------
self::$siteInfo = $_COOKIE["site"];//この値は配列ですか?
if (empty(self::$siteInfo) || self::$siteInfo["domain"] != $