2

あぁ、

私は(config.phpで)定義しました:

$mysql = mysqli_connect (..);

mySQL データベースに接続するため。今、関数 (functions.php) で変数を使用したい:

function x () { $fetch = ($mysql, "SELECT ...")); }

グローバルを使用しない場合:

function x () { global $mysql ... }

きれいなアイデア(手続き型)はありますか?

4

2 に答える 2

1

たとえば、接続リソースを関数に渡すことができます

function x ($mysqli) { $mysqli->... }
于 2016-01-02T13:57:33.627 に答える
1

Superglobal $GLOBALS を使用すると、global-keyword なしで global-scope の変数にアクセスできます。

function x() { $GLOBALS['mysql']->... }

ドキュメント: http://php.net/manual/en/reserved.variables.globals.php

変数の代わりに使用できる Database-Handle/Object を返す別の関数を作成することをお勧めします。例えば:

function db() { return $GLOBALS['mysql']; }
function x() { db()->... }
于 2016-01-02T14:41:49.457 に答える