| 

.NET C# Java Javascript Exception

2
Hallo zusammen,

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.

Hier ein zusammengefasstes Beispiel eines Models:
class User_Model extends Model {

const ID_COLUMN = 'user_id';
const TABLE_NAME = 'user';
const CONNECTION_NAME = null;

public function getFullUsername() {
return $this->username . ' (' . $this->email . ')';
}

public function role() {
return $this->_belongsTo('Role', 'role_id');
}

public function findAllUsers($sort = 'username', $order = 'asc', $offset = null, $limit = null) {
return $this->_orm->factory('user')->join('role', array(
'user.role_id', '=', 'role.role_id'
))
->orderBy($sort, $order)
->limit($limit)
->offset($offset)
->findAll();
}


Und hier wie ich mit dem Model interagiere:
$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?

Danke für die Tipps
News:
03.09.2013
redfish 115 1 5
2 Antworten
0
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
04.11.2013
SPresnac 110 6
0
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.
01.05.2014
di3 1

Stelle deine Php-Frage jetzt!