ホームページ  >  記事  >  バックエンド開発  >  このコードをどう理解するか

このコードをどう理解するか

WBOY
WBOYオリジナル
2016-06-20 12:55:57925ブラウズ

private static function parse_conf(&$setting_config){		$nc_config = $GLOBALS['config'];		if(is_array($nc_config['db']['slave']) && !empty($nc_config['db']['slave'])){			$dbslave = $nc_config['db']['slave'];			$sid     = array_rand($dbslave);			$nc_config['db']['slave'] = $dbslave[$sid];		}else{			$nc_config['db']['slave'] = $nc_config['db'][1];		}		$nc_config['db']['master'] = $nc_config['db'][1];		$setting_config = $nc_config;		$setting = ($setting = rkcache('setting')) ? $setting : rkcache('setting',true);		$setting['shopnc_version'] = '<span class="vol"><font class="b">E-</font><font class="o">Mall</font></span>';		$setting_config = array_merge_recursive($setting,$nc_config);	}


ディスカッションへの返信 (解決策)

構成を解析します。

構成を解析します。


知っていると言う必要はありません。少し休んでください


構成を解析しています。


知っていますか?これはすでに知っていることを教えてください。少し休んでください

わかりました、分析しましょう

$setting_config は参照によって渡される変数です。 最後の文から、この関数は主にこの変数の値を生成するために使用されることがわかるはずです。

前のロジックは非常に理解しやすいですが、複数のマスター/スレーブ データベースを構成する場合、この $config でグローバル変数を定義する場所がわかりません。データベースが構成されている場合、ランダム スレーブ データベースが現在のスレーブ データベースとして使用され、マスター/スレーブ データベースはこの一意のデータベースを指します。

カスタム関数 rkcache が何に使われているかわからないので無視しました。以下の代入ステートメントは理解できると思います。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。