Format des fichiers wak.ini

Chaque Kit doit nécessairement inclure un fichier de meta-donnés, placé à sa racine et nommé wak.ini. Voici la description du format :

Section [kit]

La première section contient les meta-données à porté générale.

version
La version du kit. Est pris en compte pour la gestion des dépendances.
desc
Un bref descriptif, sur une ligne
phprange (optionnel mais recommandé)
Indiquez une fourchette de versions de PHP au sein desquelles le kit fonctionne. Par ex. 4.3-5.1, 5.*, 4.4+
class (optionnel)
La classe de l'instance du kit. Par defaut, Webappkit.
[kit] ; kit-wide meta informations version = "0.1" ; kit version. Will be used later. desc = "This is my first kit. It will rocks !" ; a short description. Single line to be INI compliant ! phprange = "4.3-5.*" ; define which PHP versions range compatibility (optional) ; you can use a single version string with jokers, as 4.*

Librairies et dépendances

Ces sections indiquent quels autres kits doivent être chargés avant celui-ci, puis quels sont les fichiers du kit à inclure, puis les sous-kits à charger ensuite. Elles sont toutes optionnelles. L'ordre dans lequel se trouvent les élements est important, ce sera l'ordre dans lequel ils seront chargés.

[load_kits]
La liste des kits à charger, de la forme identifiant = "version". L'ordre est préservé pour le chargement. Il est possible d'utiliser un joker * si la version importe peu.
[load_files]
La liste des fichiers PHP à charger, de la forme index = "chemin/vers/le/fichier". La valeur de l'index n'est pas signifiante, seul l'ordre importe. Le chemin est un chemin relatif depuis la racine du kit. Tous ces fichiers seront chargés au chargement du kit.
Il est possible de fournir un fichier pour chaque version de PHP, en les nommant .php4, .php5 etc. Dans ce cas, indiquez .php* dans cette liste et le fichier inclus sera celui correspondant à la version courante de PHP.
[load_classes]
Index des classes. Sous PHP5, ces classes seront indexées pour être chargées automatiquement lorsqu'elles seront requises par vos scripts. Sous PHP4, elles seront chargées directement comme pour [load_files]. Il est également possible d'avoir un fichier pour chaque version de PHP ici.
[load_subkits]
La liste des sous-kits à charger, de la forme identifiant = "version". L'identifiant des kits doit omettre la partie correspondant au kit parent. Par ex. hello.world fera ici référence à example.hello.world. Ces kits seront chargés à la fin du chargement du kit parent.
[load_kits] ; kits to load before self resources, order will be preserved. ; absolute.kit.id = "version range" webappkit.datapath = "1.2+" [load_files] ; self resources to load, order will be preserved. ; n = "relative/path/to/file" 10 = "myclass.class.php*" 20 = "mychildclass.class.php*" [load_classes] ; classes index ; class = "relative/path/to/definition/file" ; class names MUST be lower case anotherclass = "lib/anotherclass.php*" [load_subkits] ; subkits to load after self resources, order will be preserved ; relative.subkit.id = "version range" hello.world = "*"

Section [tools]

Cette section liste les Outils qui seront accessibles en tant qu'attributs de l'instance du kit. Les clefs sont les noms d'attribut et les valeurs la classe à utiliser.

[tools] ; name = "class" realm = "HttpRealmTool"

Pour démarrer

Pour les développeurs de Kits