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.
La bibliothèque DLL pour cette extension PECL
peut être téléchargée depuis, soit la page de
» téléchargement PHP, soit depuis
» http://pecl4win.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 272. 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 I, Directives du php.ini.
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 2245. 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 à PHP 5 pour runkit_method_add()
-
RUNKIT_ACC_PROTECTED
(entier)
-
Drapeau spécifique à PHP 5 pour runkit_method_add()
-
RUNKIT_ACC_PRIVATE
(entier)
-
Drapeau spécifique à PHP 5 pour runkit_method_add()
-
CLASSKIT_ACC_PUBLIC
(entier)
-
Drapeau spécifique à PHP 5 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 à PHP 5 pour runkit_method_add()
Seulement définie lorsque les compatibilités classkit sont activées.
-
CLASSKIT_AGGREGATE_OVERRIDE
(entier)
-
Drapeau spécifique à PHP 5 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ée
- runkit_method_copy — Copie une méthode d'une classe à une autre
- runkit_method_redefine — Change dynamiquement le code de la méthode donnée
- runkit_method_remove — Supprime dynamiquement la méthode donnée
- runkit_method_rename — Change dynamiquement le nom de la méthode donnée
- runkit_return_value_used — Détermine si la valeur de retour des fonctions courantes sera utilisée
- runkit_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