Syntaxe variables Drupal, je ne comprends pas tout

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Mes connaissances en php sont suffisantes pour développer modestement quelques blocs et modules mais mon expertise est plutôt limitée.
Je me pose donc quelques questions sans doute idiotes.

1/ D'où vient la syntaxe des variables de nodes comme par exemple $node->links ou $node->title. Je sais utiliser ces variables mais je ne comprends pas cette syntaxe avec un -> au milieu. Aucune réponse dans les manuels php à ma disposition, mais je n'ai peut-être assez creusé.

2/Pour personnaliser les liens en bas d'articles vaut-il mieux partir de la variable $links ou de la variable $node->links? (je veux dire en rapidité d'exécution et propreté du code)
Plus simple pour moi d'utiliser $node->links car je n'arrive pas à trouver comment affecter simplement la construction de la chaine $links

Merci d'avance ce vos lumières

Forum : 
Version de Drupal : 

La syntaxe "bizarre" vient du fait que les nodes (par exemple) sont des objets génériques, et qu'on accède à leur propriété via le "->".

Drupal crée un objet plutôt qu'un tableau :

$node = new stdClass;
$node->title = "Harry Potter and the Prisoner of Azkaban";
$node->author = 123;

Voir par exemple : http://www.webmaster-source.com/2009/08/20/php-stdclass-storing-data-obj...

C'est parfois ce qu'on reproche à Drupal, ce n'est pas du "bel objet", avec une classe Node déclarée. En fait on peut ajouter ce qu'on veut comme attribut à une stdClass

"Pour personnaliser les liens en bas d’articles vaut-il mieux partir de la variable $links ou de la variable $node->links ?"

Il existe un hook_link_alter qui sert spécifiquement à altérer les liens qui s'affichent en bas du node ou des commentaires.