Ben bir cilalı iskele naziksiniz, bu çok şey yazdı. Temelde kullanılacak tabloyu alır yapıcı olan bir sınıf, alan adlarını ve türlerini içeren bir dizi ve bir eylem var. Bu eylem dayalı nesne kendisi bir yöntem çağırır. Örneğin:
Bu ben geçmek dizidir:
$data = array(array('name' => 'id', 'type' => 'hidden')
, array('name' => 'student', 'type' => 'text', 'title' => 'Student'));
Sonra kurucusunu çağırmak:
new MyScaffold($table, 'edit', $data, $_GET['id']);
Yukarıdaki durumda yapıcı $ tablodan veri görüntüleyen bir form sunar 'düzenle' yöntemi çağırır, ama sadece alanlar benim dizide kurmak. Kullandığı kayıt $ _GET yöntemi ile belirlenir. Bu örnekte 'öğrenci' alan bir metin kutusu (dolayısıyla 'text' tipi) olarak sunulmuştur. 'Title', sadece kullanılan etikettir. 'Gizli' olan ID alanı düzenleme için gösterilen değil ancak kullanımı için program mevcuttur.
Ben bunun yerine 'düzenleme' ve 'delete' geçmişti eğer GET değişkeni kaydını silmek istiyorsunuz. Ben sadece bir tablo adı geçti ise, düzenlemek için düğmeleri ile kayıt listesine varsayılan silin ve yeni olacaktır.
Bu customisability sürü ile tüm CRUD içeren sadece bir sınıf bulunuyor. Sen o kadar karmaşık ya da istediğiniz kadar basit yapabilirsiniz. Bunu bir genel sınıf yaparak ben herhangi bir proje için açılan ve sadece talimatları, masa bilgi ve yapılandırma bilgilerini iletebilirsiniz. Ben bir tablo için, iskele ile eklenen yeni kayıtlar izin vermek bu durumda benim parametre dizisindeki yanlış olduğu "newbutton" ayarlanmış olabilir istemeyebilirsiniz.
Bu, geleneksel anlamda bir çerçeve değil. Içten şeyi yönetir sadece tek başına bir sınıf. Bu bazı dezavantajları vardır. Anahtar olanları tüm tabloları 'id' denilen bir birincil anahtar, bu olmadan uzakta alabilir olması gerekir ama bu konularda karmaşık olacağını olmalıdır. Başka yönetilmesi gereken her tablo hakkında ayrıntılı bilgiyi büyük bir dizi hazırlıklı olması gerektiğini varlık, ancak yalnızca bir kez yapmanız gerekir.
Bu fikir See ile ilgili bir eğitim için here