ich hab ein eigenes rundimentäres MVC Framework geschrieben. Die Models können über ein ORM aber auch direkt über ein Datenbank Interface die Daten beziehen.
$user = new User_Model(...); $user->name = 'Hans'; $user->save();
$user_repo = new User_Model(...); $users = $user_repo->findAllUsers(); foreach($users as $user) { echo $user->getFullUsername(); }
Ich stehe nun aber vor dem Problem, dass ich nicht weis ob ich auch die Daten eines Webservices (JSON, XML, ...) über die Models beziehen und bearbeiten soll oder ob die Logik in einer Action eines Controllers reicht.
Habt ihr Vorschläge wie die Sache am besten angegangen werden soll? Wenn über ein Model, an was muss ich denken? Gibt es irgend ein Pattern?
Ich würde es via Model machen, denn IMHO sind die Models für die Bereitstellung von Daten aus _irgendwelchen_ Quellen ja auch gedacht. Zumindest mache ich das in meinen PHP und C# Sachen auch so ;)
An was musst du denken? Doku, Exceptions, im Prinzip behandelst du ein Model für Remote-Read genauso wie ein DB Model, Konsistenz in allen Models ist wichtig, damit dein Framework erfolg haben kann; bitte nicht die Art des auslesens ändern, nur weil es ein Model für DB, ein Model für XML usw. ist. Vom Controller aus möchte ich jedes Model gleich behandeln, Daten sind Daten, egal, wo das Model die herholt ;)
Ich hoffe, dass dir das wenigstens etwas weiterhilft :D
ich versteh ned wo das problem ist webservice ruft genauso ein controller auf wie ein normaler request. nur die darstellung auf view seite weicht ab. das model macht an der stelle wie gehabt was es soll und zwar daten liefern. geholt werden diese über den controller und dargestellt über die view auch wenns am ende nurn json_encode wird.