SALT > Manuel > Tutoriel >
Pour installer le framework SALT il faut : Lors de l'initialisation on peut également souhaiter :

Définir les chemins relatifs jusqu'à la racine du site.

Cela permettra de gérer plus facilement les ressources en les référençant toujours avec la même URL relative :
<CONSTANTE><chemin/absolu/depuis/la/racine/du/site>

CONSTANTE peut avoir deux valeurs :
Voici un exemple pour bien comprendre la différence :
On dispose d'un site avec plusieurs pages. Dans chaque page on commence par réaliser un require_once du fichier lib/init.php qui va se charger d'initialiser la page.
Les pages sont de cette forme :
/index.php         // La racine du site, inclus lib/init.php
/.htaccess         // Redirige les URL inexistantes vers /404/index.php (Cas avec redirection)
/404/index.php     // Page vers laquelle sont redirigés les fichiers inexistants. Inclus ../lib/init.php
/lib/init.php      // Le fichier PHP qui sera inclus par toutes les pages. Définit les constantes RELATIVE et WEB_RELATIVE. Utilise RELATIVE pour inclure qux/index.php
/qux/index.php     // Fichier affichant des liens vers les pages de tests du site à l'aide de WEB_RELATIVE ainsi que le contenu des 2 constantes

/foo/index.php         // Cas 1 sans redirection, 1 niveau : inclus ../lib/init.php
/foo/bar/index.php     // Cas 1 sans redirection, 2 niveaux : inclus ../../lib/init.php
/foo/bar/baz/index.php // Cas 1 sans redirection, 3 niveaux : inclus ../../../lib/init.php

/bar/             // N'existe pas : cas 2 avec redirection, 1 niveau
/bar/qux/         // N'existe pas : cas 2 avec redirection, 2 niveaux
/bar/qux/quux     // N'existe pas : cas 2 avec redirection, 3 niveaux
	
NomURL GETRELATIVEWEB_RELATIVE
Cas 1, sans redirection, Racine / ./ ./
Cas 1, sans redirection, 1 niveau /foo/ ../ ../
Cas 1, sans redirection, 2 niveaux /foo/bar/ ../../ ../../
Cas 1, sans redirection, 3 niveaux /foo/bar/baz/ ../../../ ../../../
Cas 2, avec redirection, 1 niveau /bar/ ../ ../
Cas 2, avec redirection, 2 niveaux /bar/qux/ ../ ../../
Cas 2, avec redirection, 3 niveaux /bar/qux/quux/ ../ ../../../

Il est possible de tester cela et de voir le code source de toutes les pages en suivant ce lien.

La valeur de RELATIVE est ../ dans le cas avec redirection car on a redirigé non pas vers la racine du site mais vers 404/index.php.
Il faut donc descendre d'un niveau pour revenir sur la racine du site.

Pour récupérer les valeurs de RELATIVE et WEB_RELATIVE, il faut appeler les API suivantes de Salt :
<?php
// le nombre à passer aux méthodes relativePath et webRelativePath est le nombre de dossier depuis la racine du site pour
//    arriver au fichier contenant cette déclaration. Par exemple, ici, on est dans un fichier /lib/init.php.
// Si on était dans /init.php on indiquerait 0 (valeur par défaut)
// Si on était dans /foo/bar/init.php on indiquerait 2
define('RELATIVE'Salt::relativePath(1));
define('WEB_RELATIVE'Salt::webRelativePath(1));
La valeur retournée par ces API terminera systématiquement par un slash (/), même pour la racine du site, car la valeur vaudra alors ./

Surcharger des constantes de SALT

Avant l'appel à Salt::config(), on peut redéfinir les constantes de SALT :
<?php
define
('salt\CHARSET''ISO-8859-1'); // le charset par defaut est UTF-8

Les constantes redéfinissables sont dans le fichier conf/config.php du framework.

Changer la langue de SALT

Pour changer la langue de SALT, il faut redéfinir la constante salt\I18N_LOCALE avant d'appeler Salt::config() : <?php
define
('salt\I18N_LOCALE''fr'); // la locale par défaut est "en"
// le fichier lang/fr.yml doit exister et contenir toutes les entrées de lang/en.yml
Plus d'informations sur la classe d'internationalisation

Charger des classes PHP de notre application à l'aide de SALT

Avec la méthode Salt::addClassFolder on peut indiquer à SALT un dossier dans lequel il va trouver des classes PHP.
<?php
Salt
::addClassFolder(RELATIVE.'lib');
On peut spécifier le namespace des classes PHP avec le 2ème paramètre (NULL par défaut)
On peut spécifier le suffixe des fichiers à chercher avec le 3ème paramètre ('.class.php' par défaut)
Par exemple : <?php Salt::addClassFolder(RELATIVE.'lib''Mon\Namespace''.class'); va chercher dans le dossier lib tout les fichiers terminant par '.class' et va les enregistrer comme appartenant au namespace Mon\Namespace.
L'autoload de SALT mappera donc les classes et les fichiers suivants :

Déclarer l'instance de la classe In

Cette instance pourra ensuite être référencée partout au lieu d'appeler In::getInstance().
<?php
use salt\In// La classe de gestion des entrées/sorties, fortement recommandée
$Input In::getInstance(); // Récupération du singleton