web-dev-qa-db-fra.com

Tableau $ GLOBALS pour wordpress

existe-t-il un fichier dans lequel Wordpress définit $ GLOBALS?

je suis juste curieux de savoir à quoi wordpress l'utilise et dans quel but.

C'est tout!

7
chrisjlee

Je ne sais pas si ce sont tous des globaux WordPress, mais j'ai fait une recherche rapide de type grep dans les fichiers WordPress et j'ai essayé d'extraire tous les globaux que je pouvais.

Ceci est une liste que j’ai compilée pour vous, ce n’est peut-être pas parfait, mais devrait * espérons-le * représenter beaucoup des touches $GLOBALS utilisées par WordPress, elle ne tiendra pas compte des variables globisées qui ne sont pas explicitement définies comme $GLOBAL, portée globale.

$GLOBALS['_menu_item_sort_prop']
$GLOBALS['_wp_sidebars_widgets']
$GLOBALS['blog_id']
$GLOBALS['body_id']
$GLOBALS['comment']
$GLOBALS['comment_depth']
$GLOBALS['content_width']
$GLOBALS['current_site']
$GLOBALS['current_user']
$GLOBALS['custom_background']
$GLOBALS['custom_image_header']
$GLOBALS['debug_bar']
$GLOBALS['editor_styles']
$GLOBALS['is_winIE']
$GLOBALS['link']
$GLOBALS['login_grace_period']
$GLOBALS['month']
$GLOBALS['month_abbrev']
$GLOBALS['more']
$GLOBALS['post']
$GLOBALS['post_type']
$GLOBALS['posts']
$GLOBALS['query_string']
$GLOBALS['request']
$GLOBALS['single']
$GLOBALS['submenu']
$GLOBALS['tab']
$GLOBALS['type']
$GLOBALS['weekday']
$GLOBALS['weekday_abbrev']
$GLOBALS['weekday_initial']
$GLOBALS['wp_admin_bar']
$GLOBALS['wp_filter']
$GLOBALS['wp_object_cache']
$GLOBALS['wp_post_types']
$GLOBALS['wp_query']
$GLOBALS['wp_styles']
$GLOBALS['wp_taxonomies']
$GLOBALS['wp_the_query']
$GLOBALS['wp_version']

Si vous voulez avoir une meilleure idée de tout ce qui se trouve dans le tableau global, vous pouvez utiliser l'une des méthodes suivantes pour obtenir une impression, car l'approche ci-dessus était manifestement défectueuse (les globals sont définis de plusieurs manières).

add_action( 'shutdown', 'print_them_globals' );

function print_them_globals() {

    ksort( $GLOBALS );
    echo '<ol>';
    echo '<li>'. implode( '</li><li>', array_keys( $GLOBALS ) ) . '</li>';
    echo '</ol>';
}

Ce qui devrait vous donner une liste plus complète de variables dans la portée globale.

J'espère que c'est utile .. :)

10
t31os

Malheureusement non.

Les définitions globales sont dispersées dans la base de code.

Il n'y a pas de documentation pour la plupart d'entre eux non plus.

4
scribu

'$ GLOBALS' est un tableau associatif contenant des références à toutes les variables actuellement définies dans la portée globale. Ceci est un outil de langage PHP.

Les variables globales peuvent être définies simplement en créant un nouvel élément dans le tableau $ GLOBALS comme ceci:

$GLOBALS['foo'] = 'foo content';

WordPress Globals sont utilisés pour partager des données entre fichiers. Ils ne sont pas définis à un endroit spécifique, mais vous pouvez trouver certains des plus importants ici: http://codex.wordpress.org/Global_Variables

PHP facilite encore plus l'utilisation de $ GLOBALS en vous permettant d'accéder aux éléments en le déclarant simplement à l'aide de la clé globals Word.

global $foo;
$foo = 'foo new content';

est le même que:

$GLOBALS['foo'] = 'foo new content';

Veuillez noter que si vous n'avez pas défini $ foo comme global, il ne sera pas lié à la variable globale.

Quelques lectures supplémentaires à ce sujet: http://www.php.net/manual/en/reserved.variables.globals.php

0
dwainm