Maison php教程 php手册 Drupal模块开发之创建自己的钩子

Drupal模块开发之创建自己的钩子

May 26, 2016 am 08:20 AM
foreach

Drupal可以让第三方模块创建自己的钩子。在通常的实践中,有两种类型的钩子你可能想要创建,一种是内容修改类的钩子,一种是拦截类的钩子。

Drupal的钩子系统允许和模块交互并改变其他模块的逻辑,甚至是改变Drupal核心逻辑。这是一个非常简单的系统,甚至可以让第三方模块创建自己的钩子。在通常的实践中,有两种类型的钩子你可能想要创建,一种是内容修改类的钩子,一种是拦截类的钩子。修改类的钩子提供了一个标准的方法来修改某个特定对象或变量的内容,典型的是使用 drupal_alter()函数。拦截类的钩子可以让第三方模块在模块执行过程中根据条件做出一些动作。

例1:简单调用

<?php
// will call all modules implementing hook_hook_name
module_invoke_all(&#39;hook_name&#39;);
?>
Copier après la connexion

例2:聚合结果

<?php
$result = array();
foreach (module_implements(&#39;hook_name&#39;) as $module) {
// will call all modules implementing hook_hook_name and
// push the results onto the $result array
$result[] = module_invoke($module, &#39;hook_name&#39;);
}
?>
Copier après la connexion

例3:使用 drupal_alter() 改变内容

<?php
$data = array(
&#39;key1&#39; => &#39;value1&#39;,
&#39;key2&#39; => &#39;value2&#39;,
);
// will call all modules implementing hook_my_data_alter
drupal_alter(&#39;my_data&#39;, $data);
?>
Copier après la connexion

例4:引用传参,不能使用 module_invoke

<?php
// @see user_module_invoke()
foreach (module_implements(&#39;hook_name&#39;) as $module) {
$function = $module . &#39;_hook_name&#39;;
// will call all modules implementing hook_hook_name
// and can pass each argument as reference determined
// by the function declaration
$function($arg1, $arg2);
}
?>
Copier après la connexion


教程地址:

欢迎转载!但请带上文章地址^^

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la différence entre utiliser foreach et iterator pour supprimer des éléments lors de la traversée de Java ArrayList ? Quelle est la différence entre utiliser foreach et iterator pour supprimer des éléments lors de la traversée de Java ArrayList ? Apr 27, 2023 pm 03:40 PM

1. La différence entre Iterator et foreach est la différence polymorphe (la couche inférieure de foreach est Iterator). Iterator est un type d'interface, et il ne se soucie pas du type de collection ou de tableau ; de la collection en premier, et même le type d'éléments dans la collection ; 1. Pourquoi dit-on que la couche inférieure de foreach est le code écrit par Iterator : Code décompilé : 2. La différence entre supprimer dans foreach et iterator. dans le manuel de développement Java d'Alibaba, mais aucune erreur ne sera signalée dans le cas 1, et une erreur sera signalée dans le cas 2 (java. util.ConcurrentModificationException) en premier

Comment déterminer le nombre de boucles foreach en php Comment déterminer le nombre de boucles foreach en php Jul 10, 2023 pm 02:18 PM

​Les étapes permettant à PHP de déterminer le numéro de la boucle foreach : 1. Créez un tableau de "$fruits" ; 2. Créez une variable de compteur "$counter" avec une valeur initiale de 0. 3. Utilisez "foreach" pour boucler. à travers le tableau, et augmentez la valeur de la variable compteur dans le corps de la boucle, puis affichez chaque élément et son index ; 4. Affichez la valeur de la variable compteur en dehors de la boucle "foreach" pour confirmer quel élément atteint la boucle.

PHP renvoie un tableau avec les valeurs clés inversées PHP renvoie un tableau avec les valeurs clés inversées Mar 21, 2024 pm 02:10 PM

Cet article expliquera en détail comment PHP renvoie un tableau après avoir inversé la valeur de la clé. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP Key Value Flip Array Key Value Flip est une opération sur un tableau qui échange les clés et les valeurs du tableau pour générer un nouveau tableau avec la clé d'origine comme valeur et la valeur d'origine comme clé. Méthode d'implémentation En PHP, vous pouvez effectuer un retournement clé-valeur d'un tableau via les méthodes suivantes : Fonction array_flip() : La fonction array_flip() est spécialement utilisée pour les opérations de retournement clé-valeur. Il reçoit un tableau en argument et renvoie un nouveau tableau avec les clés et les valeurs échangées. $original_array=[

PHP renvoie l'élément actuel dans un tableau PHP renvoie l'élément actuel dans un tableau Mar 21, 2024 pm 12:36 PM

Cet article expliquera en détail l'élément actuel du tableau renvoyé par PHP. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. Récupérer l'élément actuel dans un tableau PHP PHP fournit une variété de méthodes pour accéder et manipuler les tableaux, notamment obtenir l'élément actuel dans un tableau. Ce qui suit présente plusieurs techniques couramment utilisées : 1. Fonction current() La fonction current() renvoie l'élément actuellement pointé par le pointeur interne du tableau. Le pointeur pointe initialement vers le premier élément du tableau. Utilisez la syntaxe suivante : $currentElement=current($array);2.key() fonction key() la fonction renvoie l'élément actuellement pointé par le pointeur interne du tableau

Comment parcourir les propriétés d'un objet à l'aide de la fonction forEach ? Comment parcourir les propriétés d'un objet à l'aide de la fonction forEach ? Nov 18, 2023 pm 06:10 PM

Comment parcourir les propriétés d'un objet à l'aide de la fonction forEach ? En JavaScript, nous devons souvent parcourir les propriétés des objets. Si vous souhaitez utiliser une manière concise pour parcourir les propriétés d'un objet, la fonction forEach est un très bon choix. Dans cet article, nous expliquerons comment utiliser la fonction forEach pour parcourir les propriétés d'un objet et fournirons des exemples de code spécifiques. Tout d’abord, comprenons l’utilisation de base de la fonction forEach. la fonction forEach est Java

Quelle est la différence entre les boucles foreach et for Quelle est la différence entre les boucles foreach et for Jan 05, 2023 pm 04:26 PM

Différences : 1. for parcourt chaque élément de données via l'index, tandis que forEach parcourt les éléments de données du tableau via le programme sous-jacent JS ; 2. for peut terminer l'exécution de la boucle via le mot-clé break, mais forEach ne le peut pas ; .for peut contrôler l'exécution de la boucle en contrôlant la valeur de la variable de boucle, mais forEach ne peut pas ; 4. for peut appeler des variables de boucle en dehors de la boucle, mais forEach ne peut pas appeler des variables de boucle en dehors de la boucle ; est supérieur à forEach.

Comment obtenir la valeur d'index de l'élément actuel dans la boucle php foreach Comment obtenir la valeur d'index de l'élément actuel dans la boucle php foreach Mar 23, 2023 am 09:17 AM

En PHP, l'instruction foreach est largement utilisée pour parcourir des tableaux et des objets. Pendant la boucle, nous avons parfois besoin de récupérer l'élément courant de la boucle. Cet article explique comment obtenir la valeur d'index de l'élément actuel dans la boucle PHP foreach.

Explication détaillée de la fonction et de l'utilisation du mot-clé break en PHP Explication détaillée de la fonction et de l'utilisation du mot-clé break en PHP Jun 28, 2023 pm 06:39 PM

Explication détaillée du rôle et de l'utilisation du mot-clé break en PHP Dans la programmation PHP, break est une instruction de flux de contrôle utilisée pour interrompre la boucle ou l'instruction switch en cours et sortir de la boucle ou du commutateur. Cet article présentera en détail le rôle et l'utilisation du mot-clé break. 1. Break dans une boucle Dans une structure de boucle, la fonction de break est de terminer la boucle plus tôt et de sortir du corps de la boucle pour exécuter le code après la boucle. Les structures de boucle courantes incluent for, while et do... while. dans la boucle for

See all articles