Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



CXXXVII. Fonctions runkit

Introduction

L’extension runkit fournit les moyens de modifier les constantes, les fonctions et les classes définies par l’utilisateur. Elle fournit aussi ces moyens pour les variables superglobales et les sous-interpréteurs par sandboxing.

Des informations sur l’installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D’autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu’un CHANGELOG, peuvent être trouvées ici : http://pecl.php.net/package/runkit.

Ce paquetage est signifié en tant que remplacement de fonctionnalités pour le paquetage classkit. Lorsque compilé avec l’option “–enable-runkit=classkit” à ./configure, les définitions des fonctions et des constantes de classkit seront exportées.

Installation

Cette extension PECL n’est pas intégrée à PHP.

Des informations sur l’installation de ces extensions PECL peuvent être trouvées dans le chapitre du manuel intitulé Installation des extensions PECL. D’autres informations comme les notes sur les nouvelles versions, les téléchargements, les sources des fichiers, les informations concernant les mainteneurs ainsi qu’un CHANGELOG, peuvent être trouvées ici : http://pecl.php.net/package/runkit.

Vous pouvez télécharger ces bibliothèques DLL pour ces extensions PECL depuis la page de téléchargement de PHP sous sur la page http://snaps.php.net/.

Pré-requis

Modification de Constantes, Fonctions, Classes et Méthodes fonctionne avec toutes les versions de PHP 4 et PHP 5. Aucune condition spéciale n’est nécessaire.

Les Superglobales Personnalisées sont seulement disponibles dans les versions PHP 4.2.0 et supérieures.

Sandboxing nécessite PHP 5.1.0 ou supérieur ou PHP 5.0.0 avec le patch spécial TSRM appliqué. Sans se soucier de quelle version de PHP est utilisé, sandboxing doit être compilé avec l’option “–enable-maintainer-zts”. Voyez le fichier “README” dans le paquetage de runkit pour plus d’informations.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier “php.ini”.

Tableau 1. Options de Configuration de Runkit

Nom Par défaut Modifiable Historique
runkit.superglobal “” PHP_INI_PERDIR
runkit.internal_override “0” PHP_INI_SYSTEM

Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G.

Voici un éclaircissement sur l’utilisation des directives de configuration.

“runkit.superglobal” string

Liste de noms de variable séparés par des virgules à être traités comme variables superglobales. Cette valeur devrait être fixée dans le fichier du système “php.ini”, mais devrait fonctionner dans les contextes de configuration par dossier dépendamment de votre SAPI.

Exemple 1. Superglobales particulières avec runkit.superglobal=_FOO,_BAR dans php.ini

<?php
function montre_valeurs() {
  echo "Foo est $_FOO\n";
  echo "Bar est $_BAR\n";
  echo "Baz est $_BAZ\n";
}
 
$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';
 
/* Montre foo et bar mais pas baz */
montre_valeurs();
?>

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l’exécution.

“RUNKIT_IMPORT_FUNCTIONS” (entier)

runkit_import() marque indiquant que les fonctions normales doivent être importées à partir du fichier spécifié.

“RUNKIT_IMPORT_CLASS_METHODS” (entier)

runkit_import() marque indiquant que les méthodes de classes doivent être importées à partir du fichier spécifié.

“RUNKIT_IMPORT_CLASS_CONSTS” (entier)

runkit_import() marque indiquant que les constantes de classes doivent être importées à partir du fichier spécifié. Notez que cette marque est seulement signifiante dans les versions PHP 5.1.0 et supérieures.

“RUNKIT_IMPORT_CLASS_PROPS” (entier)

runkit_import() marque indiquant que les propriétés standards de classes doivent être importée à partir du fichier spécifié.

“RUNKIT_IMPORT_CLASSES” (entier)

runkit_import() marque indiquant une opération de bits OU (OR) des constantes “RUNKIT_IMPORT_CLASS_*”.

“RUNKIT_IMPORT_OVERRIDE” (entier)

runkit_import() marque indiquant que si n’importe quelles fonctions, méthodes, constantes ou propriétés importées existent, elles doivent être remplacées par leurs nouvelles définitions. Si ce drapeau n’est pas activé, alors toutes définitions importées qui existent déjà seront supprimées.

“RUNKIT_ACC_PUBLIC” (entier)

Drapeau spécifique à PHP5 pour runkit_method_add()

“RUNKIT_ACC_PROTECTED” (entier)

Drapeau spécifique à PHP5 pour runkit_method_add()

“RUNKIT_ACC_PRIVATE” (entier)

Drapeau spécifique à PHP5 pour runkit_method_add()

“CLASSKIT_ACC_PUBLIC” (entier)

Drapeau spécifique à PHP5 pour runkit_method_add() Seulement définie lorsque les compatibilités classkit sont activées.

“CLASSKIT_ACC_PROTECTED” (entier)

Drapeau spécifique à PHP5 pour runkit_method_add() Seulement définie lorsque les compatibilités classkit sont activées.

“CLASSKIT_ACC_PRIVATE” (entier)

Drapeau spécifique à PHP5 pour runkit_method_add() Seulement définie lorsque les compatibilités classkit sont activées.

“CLASSKIT_AGGREGATE_OVERRIDE” (entier)

Drapeau spécifique à PHP5 pour classkit_import() Seulement définie lorsque les compatibilités classkit sont activées.

“RUNKIT_VERSION” (chaîne de caractères)

Définie la version courante du paquetage runkit.

“CLASSKIT_VERSION” (chaîne de caractères)

Définie la version courante du paquetage runkit. Seulement définie lorsque les compatibilités classkit sont activées.

Table des matières

Runkit_Sandbox –  Classe Runkit Sandbox – Machine Virtuelle PHP Runkit_Sandbox_Parent –  Classe Anti-Sandbox Runkit runkit_class_adopt –  Convertit une classe de base à une classe héritée, ajoute une méthode ancestrale lorsque approprié runkit_class_emancipate –  Convertit une classe héritée à une classe de base, supprime toute méthode pour qui la portée est ancestrale runkit_constant_add –  Similaire à define(), mais permet aussi la définition dans définitions de classe runkit_constant_redefine –  Redéfinit une constante déjà définie runkit_constant_remove –  Enlève/Supprime une constante déjà définie runkit_function_add –  Ajoute une nouvelle fonction, similaire à create_function()
runkit_function_copy –  Copie une fonction vers un nom de fonction nouveau runkit_function_redefine –  Remplace une définition de fonction avec une nouvelle implémentation runkit_function_remove –  Enlève une définition de fonction runkit_function_rename –  Change le nom d’une fonction runkit_import –  Traite un fichier PHP important fonctions et définitions de classes, écrasement où applicable runkit_lint_file –  Vérifie la syntaxe PHP d’un fichier spécifié runkit_lint –  Vérifie la syntaxe PHP de code PHP spécifié runkit_method_add – Ajoute dynamiquement une nouvelle méthode à une classe donnéerunkit_method_copy – Copie une méthode d’une classe à une autrerunkit_method_redefine – Change dynamiquement le code de la méthode donnéerunkit_method_remove – Supprime dynamiquement la méthode donnéerunkit_method_rename – Change dynamiquement le nom de la méthode donnéerunkit_return_value_used – Détermine si la valeur de retour des fonctions courantes sera utiliséerunkit_sandbox_output_handler –  Spécifie une fonction à capturer et/ou traiter la sortie à partir d’un runkit sandbox runkit_superglobals –  Retourne un tableau indexé numériquement des variables superglobales enregistrées

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright