Core Kohana

Cette classe fournit des méthodes statiques pour la récupération ou des éléments de réglage relatifs à: Configuration, Logging, User Agent

Cette fonctionnalité a été précédemment définie par la Configuration, identifiez avec User_Agent.

Jeu de caractères

La classe définit également l'en-tête utf-8. Si vous voulez un jeu de caractères différents, vous pouvez spécifier en plaçant ceci par exemple dans votre contrôleur. Le navigateur va interpréter la page avec le nouveau jeu de caractères.

header('Content-type: text/html; charset=iso-8859-1');

Methods (Config)

Pour travailler avec le fichiers Config. Vous pouvez récupérer et définir les éléments de configuration au moment de l'exécution.

Les éléments de configuration sont entrées dans les principaux config et sont référencés par 'group.key' une clé de notation pointée.

Récupérer les éléments de configuration

config($key, $slash = FALSE, $required = TRUE) récupère un élément de configuration.

  • [string] $key spécifier l'élément à récupérer 'group_name.key_name'
  • [boolean] $slash indique si un / doit être ajouter en fin de valeur. Par défaut FALSE
  • [boolean] $required Définie si l'élément est necessaire. Par défaut TRUE
  • returns [mixed] Retourne la valeur pour $key. cela peut-être un string, boolean ou array
Kohana::config('core.output_compression'); //returns boolean TRUE if output compression is enabled in the main application config file.
//
Kohana::config('session.driver'); //returns the string value for the current driver of the loaded Session.

EDiter une configuration

config_set($key, $value) définit un élément de configuration.

  • [string] $key Spécifie la clé de l'élément à configurer ⇒ 'group_name.key_name'
  • [mixed] $value spécifie la valeur de l'élément à configurer. Peut être string ou array
  • returns [boolean] TRUE si l'édition c'est effectué avec succès, sinon FALSE
Kohana::config_set('core.output_compression', FALSE); //returns boolean TRUE si la compression de sortie est activée dans l'application fichier de configuration principal.
//
Kohana::config_set('session.driver', 'cookie'); //returns FALSE

Chargement d'un fichier de configuration

config_load($name, $required = TRUE) charge un fichier de configuration à partir du disque.

  • [string] $name Indique le nom du fichier de configuration (sans aucune information de chemin)
  • [boolean] $required Indique si le fichier à charger est nécessaire, par défaut TRUE
  • returns [array] données.
Kohana::config_load('locale');

Vider le cache config

config_clear($group) purger le cache

  • [string] $group Spécifie le nom du groupe de configuration
  • returns [void]
Kohana::config_clear('locale');

Obtenir include paths

include_paths($process = FALSE) Récupère les chemins du fichier inclus.

  • [boolean] $process Indique si le include_paths devraient être re-traitées. Par défaut FALSE
  • returns [array] File paths. APPPATH en premier, tous les MODPATH dans l'ordre configuré, SYSPATH en dernier.
$ipaths = Kohana::include_paths();

Methods (Log)

Pour personnaliser votre application. Vous pouvez écrire des erreurs ou des avis dans les Logs lors de l'exécution.

Rédiger un message de Log

log($type, $message) écrit un message texte formaté dans les Logs.

  • [string] $type Spécifier le type d'erreur error, alert, info, debug
  • [string] $message Le message.
  • returns [void]
Kohana::log('error', "email $email_id could not be sent"); 
//
Kohana::log('info', 'Admin logged in successfully');

Enregistrer toutes les entrées Log

log_save() Ecrire toutes les entrées actuelles dans le fichier Log. Généralement, il n'est pas nécessaire de le faire.

  • returns [void]
Kohana::log_save(); 

Dossier Log

log_directory($dir = NULL) Définit ou récupère le journal de Logs.

  • [string] $dir Spécifie le nouveau répertoire pour écrire des fichiers Log. Par défaut NULL
  • returns [string] Si $dir est NULL le répertoire des Logs en cours est retourné (config), sinon le répertoire spécifié dans $dir est retourné.
Kohana::log_directory(); 

Methods (autres)

Initialiser et charger SuperObject

Charge le contrôleur et l'initialise. Exécute le pre_controller, post_controller_constructor, et les événements post_controller. Déclenche un événement system.404 lorsque la route ne peut pas être mappé à un contrôleur.

Kohana::instance();
 
//Example to load the input->get() method
Kohana::instance()->input->get('id');

Les informations de débogage

Retourne au format HTML des chaînes de variables qui peuvent être affiché à l'écran.

echo Kohana::debug($this->input->post());

Imprime la variable POST

backtrace

Sera appelée quand une erreur se produit. Il affiche un aperçu des fichiers et des fonctions appelées de sorte que vous pouvez repérer la source de l'erreur. Très utile pour le débogage.

Utiliser le multi-langue

Utilisez Kohana::lang().

Example

echo Kohana::lang('cache.resources');
 
//outputs is locale is set to en_US 
 
//  Caching of resources is impossible, because resources cannot be serialized.
 
//If locale is set to de_DE
 
//  Das Cachen von Ressourcen ist nicht möglich, da diese nicht serialisiert werden können.

Dans le cas de en_US, Kohana::lang('cache.resources') utilisera dans i18n/en_US/cache.php la variable $lang['resources

Cela permet également de donner des arguments supplémentaires à Kohana::lang(), nous permettant d'utiliser une chaîne formatée (utilisant le format spécifié dans la fonction php sprintf function

Exemple Dans i18n myapp.php (fichier langue):

$lang = array
(
  'kohana_release' => 'The last stable release of Kohana is %s'
)

Dans notre contrôleur, vue, modèle …

echo Kohana::lang('myapp.kohana_release', '2.3.1');
 
//OR
 
echo Kohana::lang('example.kohana_release', array('2.3.1'));

Rechercher des chaînes clés

Recherches pour les principales données dans un tableau imbriqué. Il faut:

  • [string] Key à rechercher. Devrait être en forme de 'rootnode.childnode.anothernode'
  • [array] Array doit être un tableau

Example

$a = array
(
    'levelone1' => array
    (
        'leveltwo1' => array
        (
            'a' => 'aaa',
            'b' => 'aab',
            'c' => 'aac'
        ),
        'leveltwo2' => array
        (
            'a' => 'aba',
            'b' => 'abb',
            'c' => 'abc'
        )
    ),
    'levelone2' => array
    (
        'a' => 'ba',
        'b' => 'bb',
        'foo' => 'bar'
    )
);
 
Kohana::key_string('levelone1.leveltwo1.b', $a);
//Returns 'aab'
Kohana::key_string('levelone1.leveltwo2.c', $a);
//Returns 'abc'
Kohana::key_string('levelone2.foo', $a);
//Returns 'bar'

Lister des fichiers

Parcourt tous les répertoires d'un nom donné et retourne les fichiers trouvés. Il prend deux paramètres:

  • [string] Répertoire parent de recherche
  • [boolean] Si find_files être récursive? (TRUE ou FALSE, par défaut FALSE)

Il retourne tableau de chemins des fichiers trouvés.

Example

$controllers = Kohana::list_files('controllers', TRUE);
// Now $controllers is an array containing paths to all controllers

Trouver un fichier

Trouver un fichier dans un répertoire donné en utilisant le système de fichiers en cascade.

  • [string] Répertoire de recherche
  • [string] Nom du fichier à rechercher (sans l'extension)
  • [boolean] Le fichier requis, renvoie une erreur si cela est TRUE sinon FALSE (par défaut FALSE)
  • [mixte] fichier personnalisé sous forme de chaîne ou FALSE (par défaut FALSE)

Lorsque le fichier est trouvé, il renvoie une chaîne avec le chemin vers le fichier. Il retourne FALSE si le fichier n'est pas trouvé. Cette méthode utilise la cascade du filesystem, cela signifie qu'il va d'abord regarder dans le répertoire de l'application pour voir si un fichier existe, ensuite tous les module qui existe dans l'ordre qu'ils sont fournis dans le fichier config.php et le répertoire système. Exception à cette règle est les fichiers i18n et les fichiers de configuration. Ils sont chargés depuis le répertoire système vers le haut. Le résultat est que vous pouvez copier un demi-fichier de langue dans le répertoire système et le placer dans le répertoire application, les variables déclarées dans le répertoire système sera remplacé par celui du répertoire application.

Example

// find a file named 'article.php' in the 'controllers' directory.
include Kohana::find_file('controllers','article');

Example

// find a file named 'database.php' in the 'config' directory.
include Kohana::find_file('config','database');

Example

// find a file named 'Swift.php' in the 'vendor' directory, sub-directory 'swift'.
include Kohana::find_file('vendor','swift/Swift');

==== info agent utilisateur

'user_agent' retourne les informations agent de l'utilisateur actuel Il faut pour ça :

  • [string] chaîne ou le nom, par défaut 'agent'.

Available keys: agent, browser, version, platform, mobile, robot, referrer, languages, charsets.

Available tests: is_browser, is_mobile, is_robot, accept_lang, accept_charset.

Même si XSS filtrage global est activé, les données retournées par cette fonction ne sera pas filtré!

Example

print Kohana::user_agent();
print Kohana::user_agent('browser');
print Kohana::user_agent('version');
print Kohana::user_agent('platform');
 
print Kohana::user_agent('is_browser');
print Kohana::user_agent('accept_lang', 'en');

Il pourrait en résulter un HTML:

Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9) Gecko/2008052906 Firefox/3.0
Firefox
3.0
Windows XP
 
1 // (bool) true
1 // (bool) true
core/kohana.txt · Dernière modification: 21/02/2011 14:26 par alban
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0