KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to figure out how the Repository pattern works and how it can be implemented in a custom MVC pattern. As far as i understand it, the Repository is a layer which simply returns data from an entity class or saves the entity class to a persistent layer. Now i currently see it like this: A request comes in into my controller to create a user. Just a username and password. My controller will do something like this: function CreateAction ( ) { $userRepo = new userRepository ( ); $user = new userEntity ( ); $user->setUsername('user'); $user->setPassword('123456'); $userRepo->create($user); } Then my userRepository class looks like this: class userRepository { public function create ( User $user ) { $this->db->exec ( "INSERT INTO ... QUERY TO SAVE THE USER" ); } } And my userEntity class looks like this: class userEntity { private $username; private $password; public function setUsername ( $username ) { $this->username = $username; } public function getUsername ( ) { return $this->username; } public function setPassword ( $password ) { $this->password = $password; } public function getPassword ( ) { return $this->password; } } Now the first thing that i think is wrong here is that i'm using a query inside the repository class. Where do i actually save the userEntity class to the database? So in other words, where do i perform the actual SQL queries? I guess the proper way would be to call a DAO inside the 'create' method of the repository. But i'm still trying to figure out how a DAO really looks and how different it is compared to a 'Model' in terms of the Model in a MVC pattern. But other than that, is this the proper way of implementing the repositor
Tags (comma-separated)
Save Edits
Cancel