Options de configuration

Options de configuration --  Définition des options par défaut d'accès à une base de données

Configuration

DB_DataObject doit être configuré avant de l'utiliser, d'auto-générer les classes et les définitions. La façon la plus simple de configurer DB_DataObject est d'utiliser les fichiers ini (bien que vous pourriez vouloir utiliser la classe PEAR::Config ou alors votre propre sysème de configuration)

Pour utiliser le fichier ini avec DB_DataObject (et probablement tout autre classe qui utilise les options comme ceci)

Options de configuration - Requis

database DSN

C'est la valeur par défaut de DSN pour se connecter à la base de données

schema_location dossier

Le dossier où se trouve le fichier contenant le schéma de base de données DB_DataObject.

DB_DataObject stocke la description de la base de données (Tables et Colonnes) dans un fichier .ini, dans ce répertoire. Ces informations sont utilisées pour déterminer si la colonne est une chaîne de caractères et donc, qu'elle a besoin de guillemets ou si c'est un nombre ( et qu'il est sélectionné) au moment de construire la requête SQL. Habituellement, on stocke le schéma dans le même dossier que celui contenant les classes DataObject.

require_prefix dossier

Le chemin absolu ou relatif vers votre chemin d'inclusion par défaut, où vos extensions de classes peuvent être trouvées.

Il est utilisé par les méthodes staticGet() et getLinks() pour charger automatiquement les classes.

class_prefix chaîne de caractères

Toutes les classes générées sont nommées en suivant ce schéma : {class_prefix}ucfirst($table_name). Utilisez ce paramètre pour préfixer ce nom, il est utilisé par les méthodes staticGet() et getLinks().

Options de configuration - Optionnelles

sequence_{table} chaîne de caractères

Pour coder en dur la clé (autoincrément/valeur suivante) pour une table à une clé spécifique, effaçant tout ce qui est défini pour cette clé dans le fichier. Normalement, utilisé sur les bases de données qui ne peuvent pas être interrogées correctement sur leur structure.

ignore_sequence_keys chaîne de caractères

Si vous ne voulez pas utiliser nextval() de PEAR, pour compléter automatiquement les séquences, cela peut être désactivé pour "ALL" ou pour une liste de tables "person,cart,group"

debug entier

Le degrès de débogage (défaut 0=off), 1= identification basique SQL, 2=résultat d'identification, 3=tout

debug_ignore_updates booléen

Si définie, les mises à jour sur la base de données sont désactivées. Par défaut : FALSE

dont_die booléen

Par défaut : FALSE. Le comportement standard de dataobjects est de fournir un PEAR_ERROR_DIE (e.g. sortie PHP) lorsqu'une erreur survient, comme une identification qui échoue à une base de données ou lorsqu'on envoie un objet de type invalide à une méthode. Cependant, si vous devez exécuter cela sur un serveur directement, vous devez probablement vouloir définir ce paramètre à TRUE et définir la gestion des erreurs PEAR pour récupérer ces erreurs et afficher un joli message 'désolé, nous sommes hors service pour maintenance' sur la page.

quote_identifiers booléen

Pour forcer l'ajout de quote aux identifiants dans les requêtes SQL, définissez à 1

proxy chaîne de caractères

Ceci active la construction des classe et des classes ini à la volée, plutôt que ce soit vous qui écriviez le code. (actuellement, la seule valeur supportée est "full", qui génère le schéma des données et la classe par défaut)

Opitons de configuration - Bases de données multiples (optionnel)

database_* string

Lorsque vous avez de multiples bases de données, vous pouvez utiliser le database_* our spécifier le DSN pour chaque base de données

table_* chaîne de caractères

Lorsque vous avez plusieurs bases de données, vous pouvez utiliser les variables de configuration table_* pour lier les tables vers différentes bases de données, par exemple :

Options de configuration - Construction

class_location dossier

Le dossier où se trouve vos extensions de classes DataObject.

Utilisez par la classe d'auto-construction lors de la mise à jour/écriture de vos définitions de c classes.

extends chaîne de caractères

Le nom de la classe de base (habituellement DB_DataObject)

Si vous souhaitez ajouter une interface commune pour les méthodes utiles pour toutes les classes, vous pouvez définir les options extends_location et extends en une classe différente. Par défaut, c'est 'DB_DataObject'.

extends_location dossier

Le dossier où votre classe de base (habituellement DB_DataObject) se trouve.

Si vous souhaitez ajouter une interface commune pour les méthodes utiles pour toutes les classes, vous pouvez définir les options extends_location et extends en une classe différente. Par défaut, c'est 'DB/DataObject.php'.

generator_class_rewrite booléen

Normalement, lorsque vous créaez à; nouveau une classe depuis la base de données, cela n'altère que les variables et la méthode staticGet. Avec ce paramètre, cette action peut également mettre à jour les champs étendus

build_views booléen

Postgres (et surement d'autres) vous permet de traiter les vues comme des tables normales (i.e. insert/update/delete etc. fonctionne sur ces tables), vous pouvez utilisez cette option pour générer les fichiers pour toutes les vues de la base de données.

Note : Vous devez spécifier les clés manuellement dans les classes générées (i.e. définission des méthodes keys() et sequenceKey() ), car le générateur ne peut pas deviner quelles sont les clés préférées.

generator_include_regex chaîne de caractères

Si vous ne voulez générer que les classes et les entrées ini pour des tables spécifiques, vous pouvez utiliser ce aramètre pour construire un masque, seules les tables avec des noms correspondant à ce masque seront générées, par exemple /mytables_.*/

generator_exclude_regex chaîne de caractères

Si vous voulez explicitement prévenir la génération des classes et des entrées ini pour des tables spécifiques, vous pouvez utiliser ce paramètre pour construire un masque, toutes les tables qui correspondent à ce masque ne seront pas générées, par exemple /private_tables_.*/

generator_strip_schema booléen

postgresql a un concepte de schémas liés qui se terminent en y préfixant la liste des tables. Cela crée un désordre dans la génération des classes/schémas. En définissant ce paramètre à 1, le générateur ignore le schéma contenu dans le nom de la table.

generator_novars boolean

Si TRUE, le générateur n'écrira pas de définition privé ou de variable pour les colonnes, donc, vous pouvez surcharger get/set.

generator_add_validate_stubs booléen

Si TRUE le générateur insérera un / (ou l'ajoute aux fichiers existants) pour les méthodes valides.