przeczytałem artykuł ze strony głównej pt. 'Budowa interfejsów bazodanowych' i zaintrygowała mnie kwestia dziwnych funkcji zawartych w umieszczonych tam klasach. Z resztą widziałem podobne w innych artykułach.
Przytocze tutaj taki przykład z sekcji artykułu zatytułowanej 'Składamy wszystko w całość'.
<?php /* Notes: $db - instance of ADOdb connection object. $user - instance of the User DB Interface $topic - instance of the Topic DB Interface */ $db->StartTrans(); // update the user's total # of posts $user->setNumPosts($user->getNumPosts() + 1); // PRZYKŁAD $user->submit($db); // PRZYKŁAD // update the topics # of messages $topic->setNumMessages($topic->getNumMessage() + 1); $topic->submit($db); // create the new message $message = new Message(); $message->setTopicID($topic->getTopicID()); $message->setTopic($_POST['userTopic']); $message->setMessage($_POST['message']); $message->setPoster($user->getUserID()); $message->submit($db); $db->CompleteTrans(); ?>
Jaki jest sens używania tego typu funkcji jak tutaj: setNumPosts(), getNumPosts(), submit() ?
Wydaje mi się że kod:
<?php $user->setNumPosts($user->getNumPosts() + 1); $user->submit($db); ?>
Można z powodzeniem zapisać tak:
<?php $user->numPosts += 1; // przyjmujac ze w konstruktorze do zmiennej $numPosts wczytywana jest ilsoc posto
w uzytkownika ?>
A później w destruktorze wysyłać do bazy zgromadzone przez cały czas działania skryptu dane.
Pozdrawiam.