to pisałem bardzo, to rodzaj wypolerowanego rusztowania. Jest to w zasadzie klasa, której konstruktor pobiera tabelę do użycia, tablica zawierająca nazwy i typy pól oraz akcję. Na podstawie tej akcji obiekt wywołuje samą metodę. Na przykład:
Jest to tablica mijam:
$data = array(array('name' => 'id', 'type' => 'hidden')
, array('name' => 'student', 'type' => 'text', 'title' => 'Student'));
Potem wywołać konstruktor:
new MyScaffold($table, 'edit', $data, $_GET['id']);
w powyższym przypadku konstruktor nazywa „edytuj” metodę, która stanowi formę wyświetlanie danych z tabeli $, ale tylko pola ustawione w mojej tablicy. Rekord, którego używa, jest określony przez metodę $ _GET. W tym przykładzie pole "student" jest przedstawione jako pole tekstowe (stąd typ "tekstowy"). "Tytuł" to po prostu używana etykieta. Będąc "ukrytym" pole identyfikacyjne nie jest pokazywane do edycji, ale jest dostępne dla programu do użycia.
Gdybym przekazał "delete" zamiast "edit", to usunąłby rekord ze zmiennej GET. Jeśli przekazałbym tylko nazwę tabeli, domyślnie byłaby to lista rekordów z przyciskami do edycji, usuwania i nowego.
To tylko jedna klasa, która zawiera wszystkie CRUD z dużą możliwością dostosowania. Możesz to uczynić tak skomplikowanym lub tak prostym, jak chcesz. Tworząc ją jako klasę ogólną, mogę umieścić ją w dowolnym projekcie i po prostu przekazać instrukcje, informacje o tabelach i informacje o konfiguracji. Mogę dla jednej tabeli nie chcieć zezwolić na dodawanie nowych rekordów przez rusztowanie, w tym przypadku mogę ustawić "newbutton" na false w mojej tablicy parametrów.
To nie jest struktura w rozumieniu konwencjonalnym. Tylko samodzielna klasa, która obsługuje wszystko wewnętrznie. Jest w tym kilka wad. Najważniejsze jest to, że wszystkie moje tabele muszą mieć klucz podstawowy o nazwie "id", można uciec bez tego, ale to by skomplikowało sprawy. Inną istotną kwestią jest to, że duża tablica informująca o każdej zarządzanej tabeli musi być przygotowana, ale musisz zrobić to tylko raz.
Dla tutorial na ten pomysł zobaczyć here
Firefox nie lubi Twojej witryny. –
ta strona wydaje się być wyłączona przez jakiś czas? Próbowałem już kilka razy ... –
Nie moja strona, tylko link do niej. – lewis