MapCat
in package
La classe MapCat correspond au catalogue MapCat en base.
La classe porte en outre en constante la définition SQL de la table mapcat ainsi qu'une méthode statique traduisant la définition SQL en requête SQL
Table of Contents
Constants
- MAPCAT_TABLE_SCHEMA = ['description' => "Ce dictionnaire définit le schéma d'une table SQL avec:\n" . " - le champ 'comment' précisant la table concernée,\n" . " - le champ obligatoire 'columns' définissant le dictionnaire des colonnes avec pour chaque entrée:\n" . " - la clé définissant le nom SQL de la colonne,\n" . " - le champ 'type' obligatoire définissant le type SQL de la colonne,\n" . " - le champ 'keyOrNull' définissant si la colonne est ou non une clé et si elle peut ou non être nulle\n" . " - le champ 'comment' précisant un commentaire sur la colonne.\n" . " - pour les colonnes de type 'enum' correspondant à une énumération le champ 'enum'\n" . " définit les valeurs possibles dans un dictionnaire où chaque entrée a:\n" . " - pour clé la valeur de l'énumération et\n" . " - pour valeur une définition et/ou un commentaire sur cette valeur.", 'comment' => "table du catalogue des cartes avec 1 n-uplet par carte et par mise à jour", 'columns' => [ 'id' => ['type' => 'int', 'keyOrNull' => 'not null auto_increment primary key', 'comment' => "id du n-uplet incrémenté pour permettre des versions sucessives par carte"], 'mapnum' => ['type' => 'char(6)', 'keyOrNull' => 'not null', 'comment' => "numéro de carte sur 4 chiffres précédé de 'FR'"], 'jdoc' => ['type' => 'JSON', 'keyOrNull' => 'not null', 'comment' => "enregistrement conforme au schéma JSON"], /*'bbox'=> [ 'type'=> 'POLYGON', 'keyOrNull'=> 'not null', 'comment'=> "boite engobante de la carte en WGS84", ], voir le besoin */ 'updatedt' => ['type' => 'datetime', 'keyOrNull' => 'not null', 'comment' => "date de création/mise à jour de l'enregistrement dans la table"], 'user' => ['type' => 'varchar(256)', 'comment' => "utilisateur ayant réalisé la mise à jour, null pour une versions système"], ]]
- Définition du schema SQL de la table.
Methods
- allAsArray() : array<string, TMapCatItem>
- retourne tout le contenu de MapCat chaque entrée ssous la forme d'array et les num. avec FR
- get() : MapCatItem|null
- Retourne l'objet MapCat correspondant au numéro de carte (sans FR) ou null s'il n'existe pas
- mapNums() : array<int, string>
- Retourne la liste des numéros de carte (sans FR) en fonction de la liste des types
Constants
MAPCAT_TABLE_SCHEMA
Définition du schema SQL de la table.
public
mixed
MAPCAT_TABLE_SCHEMA
= ['description' => "Ce dictionnaire définit le schéma d'une table SQL avec:\n" . " - le champ 'comment' précisant la table concernée,\n" . " - le champ obligatoire 'columns' définissant le dictionnaire des colonnes avec pour chaque entrée:\n" . " - la clé définissant le nom SQL de la colonne,\n" . " - le champ 'type' obligatoire définissant le type SQL de la colonne,\n" . " - le champ 'keyOrNull' définissant si la colonne est ou non une clé et si elle peut ou non être nulle\n" . " - le champ 'comment' précisant un commentaire sur la colonne.\n" . " - pour les colonnes de type 'enum' correspondant à une énumération le champ 'enum'\n" . " définit les valeurs possibles dans un dictionnaire où chaque entrée a:\n" . " - pour clé la valeur de l'énumération et\n" . " - pour valeur une définition et/ou un commentaire sur cette valeur.", 'comment' => "table du catalogue des cartes avec 1 n-uplet par carte et par mise à jour", 'columns' => [
'id' => ['type' => 'int', 'keyOrNull' => 'not null auto_increment primary key', 'comment' => "id du n-uplet incrémenté pour permettre des versions sucessives par carte"],
'mapnum' => ['type' => 'char(6)', 'keyOrNull' => 'not null', 'comment' => "numéro de carte sur 4 chiffres précédé de 'FR'"],
'jdoc' => ['type' => 'JSON', 'keyOrNull' => 'not null', 'comment' => "enregistrement conforme au schéma JSON"],
/*'bbox'=> [
'type'=> 'POLYGON',
'keyOrNull'=> 'not null',
'comment'=> "boite engobante de la carte en WGS84",
], voir le besoin */
'updatedt' => ['type' => 'datetime', 'keyOrNull' => 'not null', 'comment' => "date de création/mise à jour de l'enregistrement dans la table"],
'user' => ['type' => 'varchar(256)', 'comment' => "utilisateur ayant réalisé la mise à jour, null pour une versions système"],
]]
la structuration de la constante est définie dans son champ description
Methods
allAsArray()
retourne tout le contenu de MapCat chaque entrée ssous la forme d'array et les num. avec FR
public
static allAsArray() : array<string, TMapCatItem>
Return values
array<string, TMapCatItem>get()
Retourne l'objet MapCat correspondant au numéro de carte (sans FR) ou null s'il n'existe pas
public
static get(string $mapNum[, array<int, TMapCatKind> $kindOfMap = ['alive'] ]) : MapCatItem|null
Parameters
- $mapNum : string
- $kindOfMap : array<int, TMapCatKind> = ['alive']
Return values
MapCatItem|nullmapNums()
Retourne la liste des numéros de carte (sans FR) en fonction de la liste des types
public
static mapNums([array<int, TMapCatKind> $kindOfMap = ['alive'] ]) : array<int, string>
Parameters
- $kindOfMap : array<int, TMapCatKind> = ['alive']