PDO: Dynamische Read- und Write-Funktion schreiben
bearbeitet von
> Die Methoden an der Modell-Klasse (also nicht `Model`, sondern eine Klasse des fachlichen Modells wie `Release`), die zur Kommunikation mit der DB dienen und damit die Spezifika der jeweiligen Klasse einkapseln.
Ach so, ich dachte, du meinst [das hier](https://www.w3schools.com/php/php_oop_interfaces.asp). Begriffsverwirrung herrscht bei mir irgendwie häufig in Bezug auf das MVC-Pattern. Ich weiß nicht, ob ich es richtig verstanden habe vom Prinzip her. Wegen der Komplexität habe ich es mal versucht grafisch darzustellen:
[](/images/ff99cc8e-5391-11ed-a8ca-b42e9947ef30.png)
Es gibt also vier „Schnittstellen“:
- das **Master-Model** (\Core\Model) interagiert mit der DB durch die sogenannten CRUD-Methoden (möglichst dynamisch).
- Die **„fachlichen“ Models** (z.B. \App\Models\Releases) übergeben die wichtigen Parameter durch Properties.
- die **„fachlichen“ Controllers** (z.B. \App\Controllers\Releases) überprüfen den User-Input und bestimmen, was je nach HTTP-Request-Method passieren soll
- die **view-page** zeigt die vom Controller bereitgestellten Daten an
Ist das vom Prinzip her so gemeint gewesen?
> > Fatal error: Class "Release" not found in D:\Websites\framework\app\models\Model.php on line 53
>
> Verwendest Du Namespaces? Steckt die Release-Klasse in einem solchen? Dann müsstest Du PDO den Klassennamen incl. Namespace übergeben.
Ja, war tatsächlich so. Jetzt erscheint diese Fehlermeldung nicht mehr.
> Das Thema $isNew hat Raketenwilli ja schon in Frage gestellt. Denk also erstmal über das nach, was er schrieb, bevor Du das einbaust.
Das mache ich.
PDO: Dynamische Read- und Write-Funktion schreiben
bearbeitet von
> Die Methoden an der Modell-Klasse (also nicht `Model`, sondern eine Klasse des fachlichen Modells wie `Release`), die zur Kommunikation mit der DB dienen und damit die Spezifika der jeweiligen Klasse einkapseln.
Ach so, ich dachte, du meinst [das hier](https://www.w3schools.com/php/php_oop_interfaces.asp). Begriffsverwirrung herrscht bei mir irgendwie häufig in Bezug auf das MVC-Pattern. Ich weiß nicht, ob ich es richtig verstanden habe vom Prinzip her. Wegen der Komplexität habe ich es mal versucht grafisch darzustellen:
[](/images/ff99cc8e-5391-11ed-a8ca-b42e9947ef30.png)
Es gibt also vier „Schnittstellen“:
- das Master-Model (\Core\Model) interagiert mit der DB durch die sogenannten CRUD-Methoden (möglichst dynamisch).
- Die „fachlichen“ Models (z.B. \App\Models\Releases) übergeben die wichtigen Parameter durch Properties.
- die „fachlichen“ Controllers (z.B. \App\Controllers\Releases) überprüfen den User-Input und bestimmen, was je nach HTTP-Request-Method passieren soll
- die view-page zeigt die vom Controller bereitgestellten Daten an
Ist das vom Prinzip her so gemeint gewesen?
> > Fatal error: Class "Release" not found in D:\Websites\framework\app\models\Model.php on line 53
>
> Verwendest Du Namespaces? Steckt die Release-Klasse in einem solchen? Dann müsstest Du PDO den Klassennamen incl. Namespace übergeben.
Ja, war tatsächlich so. Jetzt erscheint diese Fehlermeldung nicht mehr.
> Das Thema $isNew hat Raketenwilli ja schon in Frage gestellt. Denk also erstmal über das nach, was er schrieb, bevor Du das einbaust.
Das mache ich.