ich dies schrieb Genau genommen ist es ein poliertes Gerüst. Es ist im Grunde eine Klasse, deren Konstruktor die zu verwendende Tabelle verwendet, ein Array, das Feldnamen und -typen enthält, und eine Aktion. Aufgrund dieser Aktion ruft das Objekt eine Methode für sich selbst auf. Zum Beispiel:
Dies ist das Array I passieren:
$data = array(array('name' => 'id', 'type' => 'hidden')
, array('name' => 'student', 'type' => 'text', 'title' => 'Student'));
Dann rufe ich den Konstruktor:
new MyScaffold($table, 'edit', $data, $_GET['id']);
Im obigen Fall der Konstruktor den 'Bearbeiten' Methode aufruft, die eine Form präsentiert Daten aus der Tabelle $ anzeigen, aber nur Felder, die ich in meinem Array eingerichtet habe. Der verwendete Datensatz wird von der $ _GET-Methode bestimmt. In diesem Beispiel wird das Feld 'Student' als Textbox dargestellt (daher der Typ 'Text'). Der Titel ist einfach das verwendete Etikett. Da es "versteckt" ist, wird das ID-Feld nicht zur Bearbeitung angezeigt, sondern steht dem Programm zur Verwendung zur Verfügung.
Wenn ich "löschen" anstelle von "bearbeiten" übergeben hätte, würde es den Datensatz aus der GET-Variable löschen. Wenn nur ein Tabellenname übergeben wird, wird standardmäßig eine Liste von Datensätzen mit Schaltflächen zum Bearbeiten, Löschen und Neu erstellt.
Es ist nur eine Klasse, die alle CRUD mit viel Anpassbarkeit enthält. Sie können es so kompliziert oder so einfach machen, wie Sie es wünschen. Indem ich es zu einer generischen Klasse mache, kann ich es in jedes Projekt einfügen und nur Anweisungen, Tabelleninformationen und Konfigurationsinformationen übergeben. Ich möchte vielleicht für eine Tabelle nicht zulassen, dass neue Datensätze über das Gerüst hinzugefügt werden, in diesem Fall könnte ich "newbutton" in meinem Parameter-Array auf false setzen.
Es ist kein Framework im herkömmlichen Sinne. Nur eine eigenständige Klasse, die alles intern abwickelt. Dies hat einige Nachteile. Die wichtigsten müssen sein, dass alle meine Tabellen einen Primärschlüssel haben müssen, der "id" genannt wird, man könnte ohne dies wegkommen, aber es würde die Angelegenheit komplizieren. Ein weiterer Grund ist, dass ein großes Array mit Informationen über jede zu verwaltende Tabelle vorbereitet sein muss, aber Sie müssen dies nur einmal tun.
Für ein Tutorial auf dieser Idee here
Firefox mag Ihre Website nicht. –
Diese Website scheint für eine Weile nicht erreichbar zu sein? Ich habe ein paar Mal versucht ... –
Nicht meine Seite, nur damit verbunden. – lewis