# Namespace CRUDlex

Classes summary
CRUDControllerProvider | This is the ControllerProvider offering all CRUD pages.
CRUDData | The abstract class for reading and writing data.
CRUDEntity | Represents a single set of data in field value pairs like the row in a database. Depends of course on the `CRUDlex\CRUDData` implementation being used. With this objects, the data is passed arround and validated.
CRUDEntityDefinition | The class for defining a single entity.
CRUDEntityValidator | Performs validation of the field values of the given `CRUDlex\CRUDEntity`.
CRUDMySQLData | MySQL CRUDData implementation using a given Doctrine DBAL instance.
CRUDMySQLDataFactory | A factory implementation for `CRUDlex\CRUDMySQLData` instances.
CRUDServiceProvider | The CRUDServiceProvider setups and initializes the whole CRUD system. After adding it to your Silex-setup, it offers access to `CRUDlex\CRUDData` instances, one for each defined entity off the CRUD YAML file.
CRUDSimpleFilesystemFileProcessor | An implementation of the `CRUDlex\CRUDFileProcessorInterface` simply using the file system.
CRUDStreamedFileResponse | Small utility class to generate functions for streamed responses returning a file.

Interfaces summary
CRUDDataFactoryInterface | An interface used by the `CRUDlex\CRUDServiceProvider` to construct `CRUDlex\CRUDData` instances. By implementing this and handing it into the service provider, the user can control what database (-variation) he wants to use.
CRUDFileProcessorInterface | This interface is used to handle file uploads.