FieldInterface All fields implement this interface. It covers 3 core field responsibilities:
UserInterface This interface represents the methods that need to be present on the object representing your user in order for that object to interact with the Fields API. It shouldn't necessarily contain methods for other user related methods, like authentication.


Edit Use the \Dewdrop\Db\Field API to manage the editing of values.
EditHelperDetector This class detects the appropriate view helper for editing a \Dewdrop\Db\Field object. It will look at the field's type to determine a reasonable default helper, but you can also call the customizeField() method to override the default for a specific field.
Exception A custom exception to assist in the isolation of Fields API related errors.
Field Custom fields, those not directly related to a database column or relationship, generally use this class, unless you are implementing FieldInterface yourself.
FieldAbstract This class serves as a base for both custom and DB fields in Dewdrop.
FieldsIterator An Iterator implement that is used to loop over a \Dewdrop\Fields object.
GroupedFields Break a set of fields into multiple groups. Components uses a \Dewdrop\Fields\GroupedFields object that are not aware of the specific APIs it provides can use it just like a plain \Dewdrop\Fields object.
Listing The Listing class wraps a Select object and applies a number of SelectModifier objects to it, making it easy to sort, filter, etc. You can optionally specify a prefix for the Listing, which it will pass along to all its modifiers, allowing you to use multiple Listings on a single request without their GET and POST variables conflicting with one another.
OptionGroups The OptionGroups class makes it easy to retrieve a list of key-value pairs in arrays grouped by a key for use as options for a field's value, typically a foreign key. OptionGroups is ideal for use with a CascadeSelect, for example.
OptionPairs The OptionPairs class makes it easy to retrieve a list of key-value pairs for use as options for a field's value, typically a foreign key.
RowCollectionEditor The RowCollectionEditor provides an API for editing a variable-sized collection of items. Each item in the collection will get its own Fields and RowEditor objects, allowing you to leverage the validation/filtering and data handling capabilities in RowEditor while not having to manually track dynamically created rows.
RowEditor This class assists in the editing of one or more row objects. To achieve this, it first helps you associate row objects with all the DB fields in your \Dewdrop\Fields object. When you initially add fields to a \Dewdrop\Fields object, it is usually via a \Dewdrop\Db\Table model rather than a row. So, to edit those fields, you somehow have to call setRow() on each of those fields, giving them the ability to get and set values on that row.