以下の PHP コードで、PDO オブジェクトの $db が NULL として渡されているのはなぜでしょうか。つまり$db=NULL
、コンストラクターのパラメーターで。
class ColoredListsUsers
{
/**
* The database object
* @var object
*/
private $_db;
/**
* Checks for a database object and creates one if none is found
* @param object $db
* @return void
*/
public function __construct($db=NULL) /* why is #db passed as null here ? */
{
if(is_object($db))
{
$this->_db = $db;
}
else
{
$dsn = "mysql:host=".DB_HOST.";dbname=".DB_NAME;
$this->_db = new PDO($dsn, DB_USER, DB_PASS);
}
}
}
以前の $db は PDO オブジェクトとして宣言されていました:
// Create a database object
try {
$dsn = "mysql:host=".DB_HOST.";dbname=".DB_NAME;
$db = new PDO($dsn, DB_USER, DB_PASS);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
exit;
}
$db を PDO オブジェクトにしてから null として渡すのは意味がないようです.... コードはhttp://www.copterlabs.com/blog/creating-an-app-from-scratch-partからのものです-5/