Aujourd'hui, nous utilisons $GLOBALS, #39 et #39. Pour remplacer $SSERVER d'accéder aux variables d'environnement pertinentes, signalera toujours l'erreur de sSERVERundefined. Le cas d'utilisation suivant : Utilisez le cas 1 : phpprint?r ($GLOBALS); il n'y a aucune information sur sSERVER dans la sortie en ce moment: Array..."
Aujourd'hui, en utilisant $GLOBALS ('SERVER') au lieu de $?SERVER pour accéder aux variables d'environnement pertinentes, vous signalerez toujours l'erreur "SSERVER indéfinie". Voici comment :
Utilisez le cas 1 :
imprimer ($GLOBALS);
À ce stade, il n'y a aucune information sur SERVER dans la sortie:
collection
(
GLOBALS , Array
:: RÉCURSION
(POST) s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/
(
)
S.
(
)
COOKIES , TABLEAU
(
)
Tableau (FILE)
(
)
)
Utilisez le cas 2 :
imprimer ($GLOBALS);
imprimer-r ('SERVER);
À ce stade, la sortie contient des informations sur le sSERVER:
collection
(
GLOBALS , Array
:: RÉCURSION
(POST) s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/
(
)
S.
(
)
COOKIES , TABLEAU
(
)
Tableau (FILE)
(
)
(SERVER) smh.com.au
(
)
)
Consultez le manuel PHP pour la description $GLOBALS, citant le satandshow examen à gmail dot com:
Therandshow à gmail dot com
À partir de PHP 5.4 $GLOBALS est maintenant initialisé juste-à-temps. Ce que ce là c'est un avantage de ne pas utiliser
le $GLOBALS que vous pouvez peut le surcharge des initiales il. Quel est l'avantage est
Je ne suis pas sûr, mais je n'ai jamais aimé $GLOBALS beaucoup de toute façon.
Après la source du nombre root, trouvez la description du journal de mise à jour PHP5Changelog :
Liste non ordonnée Amélioration du moteur Zend, réglages des performances et optimisations
Liste non ordonnée ItemChange $GLOBALS dans un autoglobal JIT, de sorte qu'il est initialisé que si elle est utilisée. (Cela peut affecter les caches opcode!) www.2cto.com
718 ; Lorsqu'elles sont activées, les variables SERVER et ENV sont créées
719 ; Le juste dans le temps au lieu de quand le script commence. Si ces variables
720 ; Ne sont pas edin edin un script, ont cette volonté volonté sera sera dans un
721 ; performance. Les directives PHP enregistrent les « globals », les registres, les
722 ; Et les registres sargc'argv doivent être désactivés pour que cette directive ait un quelconque effet.
723 ; http://php.net/auto-globals-jit
724 auto-globals-jit-On
Il a finalement été compris que la variable $SERVER et la variable $?ENV ne sont pas créées au moment où le script commence, mais ne seront pas créées la première fois que vous utilisez $SERVER et $ENV dans le cas de l'auto-globals-jit-On. Il y a donc deux cas d'utilisation.
note:
Les résultats du test:
les paramètres auto-globals-jit affectent également $.REQUEST superglobal en 5.3 Il n'est pas explicitement dans la documentation.
Au moins 5.3.13 versions sont des eduths ouverts d'auto-globals-jit-On-On-$REQUEST ne seront créés que la première fois qu'ils sont utilisés.