17/02/09 13:45:35.85 dfCX7ZDmH.net
>>807
例えば、B.phpの立場と同じUserModel.phpを考えてみましょうか。
まず、class UserModel自身がデータベース接続を確立するのはこのましくありません。
なぜなら、ユーザの登録と同時に何かの登録をしたいとき、
$user = new UserModel();
$foo = new FooModel();
$user->add($user_data);
$foo->add($foo_data);
と書くと思いますが、トランザクションはこのコードの外側で操作する必要があります。
$conn = DBConnection::getConnection();
$conn->begin();
$user = new UserModel($conn);
$foo = new FooModel($conn);
$user->add($user_data);
$foo->add($foo_data);
$conn->commit();
このコードがコントローラに存在するなら、データベース接続はコントローラで行わなければならないということになります。