跳转到主要内容
rli 提交于 6 March 2012

原文链接http://drupal.org/node/1095546

drupal模块中的注释语言

在您的模块中添加注释来解释您的模块如何工作,是个很好的习惯。我们需要严格的遵从drupal的注释规则来发布补丁或新模块, 因为drupal用Doxygen来从代码的注释语言中生成文档。请查询doxygen和注释规范来获得更多相关信息。接下来的教程对大家是非常有帮助的,即使您也许目前并不需要它。

下面是我们的第一个注释:

<?php /** * @file * A block module that displays recent blog and forum posts. */ ?>

@file告诉您此注释适用与整个文件。注释起始于"/**", 结束于"*/"。按照drupal指南所要求的,drupal模块中所有的方法都将用这个注释格式。

运行我们的第一个钩子

钩子是drupal模块的基本。它们让我们把自己的模块整合到drupal核心模块中去。如果你不知到这些,请参看drupal模块的入门

我们的第一个模块是hook_help. drupal推荐我们在所有模块中应用这个钩子。hook_help为用户提供此模块的帮助信息。要在drupal中运行钩子, 我们要把"hook"替换成我们模块的短名, 并在module文件中用同样的名字建立一个方法。所以,要在我们的示例模块中运行hook_help,我们应该在current_posts.module文件中建立一个叫做current_post_help()的方法:

<?php function current_posts_help($path, $arg) { } ?>

$path变量提供了相关帮助信息的参数:在durpal或模块的什么地方,我们的用户会需要帮助信息。要想处理这个参数的公认的好方法是用switch语句。 这是drupal非常流行的别写模式。我们的模块将采用下面这个简短的钩子示例, 我们还可以添加注释语言在里面。

<?php /** * Implements hook_help. * * Displays help and module information. * * @param path * Which path of the site we're using to display help * @param arg * Array that holds the current path as returned from arg() function */ function current_posts_help($path, $arg) { switch ($path) { case "admin/help#current_posts": return '

'. t("Displays links to nodes created on this date") .'

'; break; } } ?>

注意我们不应该有"?>"

drupal核心模块会把“admin/help#模块名"链接到drupal的帮助页面"/admin/help/ 或者 ?q=admin/help"。 我们最终将会添加更多的注释语言, 请参看注释语言标准。这个方法不仅允许第三方对它的翻译,更加加强了代码的安全性。请参看Localization API来获得更多的信息。

检查

在工具栏点击"模块", 我们便可以在模块列表找到我们的模块。激活模块并点击保存,刷新本页面, 您将看到我们的模块旁边有了一个"help"链接。 点击这个链接,我们就能看见current_post_help钩子返回的内容了。或者您可以在工具栏点击帮助链接(http://example.com/admin/help), 您将看见我们的帮助链接被列在帮助列表上。

卸载我们的模块并点击保存。(注意:卸载我们当前未完成的模块是很重要的,我们未完成的模块很容易破坏我们的站点。

请参看: