core.phpの最後にあるPDOオブジェクトを作成する次のコードがあります。
try {
$dbh = new PDO("mysql:host=localhost;dbname=xxx", 'xxx', 'xxx');
} catch (PDOException $exc) {
header(HTTP_500_HEADER);
die('Database connection failure');
}
その上のディレクトリにあるindex.phpには、問題がなく、アクセスできます。関数から$dbhにアクセスしていません。
ただし、次のような関数内からアクセスしようとすると(今回は別のディレクトリにある別のファイルです):
require_once '../_/core.php';
var_dump($dbh);
$show_html = true;
$rm = $_SERVER['REQUEST_METHOD'];
function login_check() {
var_dump($dbh);
}
最初のvarダンプは、それがPDOオブジェクトであることを示していますが、2番目はnullであることを示しています。